SELFHTML

Fehlerbehandlung mit dem Event-Handler onerror

Informationsseite

nach unten Hinweise zu diesen Beispielen
nach unten Quelltext mit Erläuterungen

Beispiel-Seite Anzeigebeispiel: So sieht's aus

 nach unten 

Hinweise zu diesem Beispiel

Der Sprachumfang von JavaScript erlaubt es mittlerweile, umfangreiche Anwendungen zu erstellen. Dynamische Web-Seiten enthalten teilweise umfangreiche Scripts, die in ihren Abläufen auf etliche Variablen zurückgreifen. Dabei können sich sich leicht unkontrollierbare Werte und Zustände im Programmablauf einschleichen, zum Beispiel auch durch nicht einkalkuliertes Anwenderverhalten. Seit der JavaScript-Version 1.1 steht Ihnen mit dem Event-Handler onerror ein Werkzeug zur zur Verfügung, um innerhalb des Scripts Fehler abzufangen und gezielt darauf zu reagieren.

Zur Unterdrückung von Fehlermeldungen, die zur Laufzeit eines Scripts entstehen, notieren Sie im Kopf der Datei window.onerror. Als Wert weisen Sie den Namen einer Funktion zu, welche die Fehlerbehandlung ausführt. Der Rückgabewert der Funktion muss true sein. Damit haben Sie Ihre eigene Fehlerbehandlung.

Der Fehlerbehandlungs-Funktion können Sie bis zu 3 optionale Parameter übergeben:
1. Nachricht: enthält die Fehlerbeschreibung des Fehlers
2. Datei: enthält den URI der fehlerverursachenden Datei
3. Zeile: enthält die Zeile in der der Fehler auftritt

Diese Art der Fehlerkontrolle können Sie für Netscape 4.x und Internet Explorer ab Version 4.x verwenden. Netscape 6 ist nicht in der Lage, die Parameter vollständig zu interpretieren. Er speichert jeweils im ersten Parameter das auslösende Eventobjekt. Opera interpretiert den an das Fensterobjekt gebundenen Event-Handler window.onerror nicht.

Berücksichtigen Sie, dass Sie nur logische Fehler überwachen und unterdrücken können, die während der Laufzeit der Scripts entstehen. Syntaxfehler, wie z.B. fehlende Klammern usw. sind damit nicht abfangbar.

nach obennach unten

JavaScript 1.1Netscape 3.0MS IE 4.0Mozilla Firefox 1 Quelltext mit Erläuterungen

Das Beispiel zeigt eine einfach Variante der Fehlerbehandlung. Am Ende des Script-Bereichs wird eine Funktion aufgerufen, die nicht existiert.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
<script type="text/javascript">
window.onerror = Fehlerbehandlung;

function Fehlerbehandlung (Nachricht, Datei, Zeile) {
  Fehler = "Fehlermeldung:\n" + Nachricht + "\n" + Datei + "\n" + Zeile;
  zeigeFehler();
  return true;
}

function zeigeFehler () {
  alert(Fehler);
}

nichtda();
</script>
</head><body>
<a href="javascript:zeigeFehler()">Fehler</a><br>
</body></html>

Erläuterung:

Beim Einlesen der Datei wird mit window.onerror = Fehlerbehandlung angewiesen, im Fehlerfall die Funktion Fehlerbehandlung() aufzurufen. Dieses Ereignis tritt im Beispiel am Ende des Script-Bereichs ein, wo versucht wird, die nichtvorhandene Funktion nichtda() aufzurufen.

Die Funktion Fehlerbehandlung()

Die Funktion speichert mit Seite Zeichenkettenverknüpfung die automatisch übergebenen Parameter in der Variablen Fehler. Dann ruft sie im Beispiel die Funktion zeigeFehler() auf. Diese Funktion dient im Beispiel lediglich dazu, den Fehler zu Demonstrationszwecken auszugeben. Mit return true wird erreicht, dass der Fehler im Browser nicht angezeigt wird. Mit dem Rückgabewert false würden Sie bewirken, dass der Browser den Fehler anmeckern würde.

In einer komplexeren Anwendung hätte die Funktion Fehlerbehandlung() also alle Möglichkeiten, auf den Fehler zu reagieren. Sie könnte beispielsweise die Zeichenkette des übergebenen Parameters Nachricht untersuchen, um herauszufinden, welcher Fehler genau aufgetreten ist. Je nach Situation könnte eine solche Funktion bewirken, dass das Script zu einem früheren Punkt im Programmablauf zurückspringt, Variablen zurücksetzt, den Cursor in ein bestimmtes Formularfeld setzt usw.

 nach oben
weiter Seite Fehlerbehandlung mit dem try..catch-Statement
zurück Seite Verweisliste als Auswahlliste
 

© 2007 Seite Impressum