SELFHTML

Fehlerbehandlung mit dem Eventhandler onError

Informationsseite

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

Popup-Seite Anzeigebeispiel: So sieht's aus

 nach unten 

Hinweise zu diesem Beispiel

Der Sprachumfang von JavaScript erlaubt es mittlerweile, umfangreiche Anwendungen zu erstellen. Dynamische Webseiten 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 Eventhandler 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 MS Internet Explorer ab Version 4.x verwenden. Netscape 6 ist leider nicht in der Lage, die Parameter vollständig zu interpretieren. Er speichert jeweils im ersten Parameter das auslösende Eventobjekt. Opera 5.12 interpretiert den an das Fensterobjekt gebundenen Eventhandler 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 

DOM 1.0JavaScript 1.1Netscape 3.0MS IE 4.0 Quelltext mit Erläuterungen

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

Beispiel:

Popup-Seite Anzeigebeispiel: So sieht's aus

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

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

function zeigeFehler()
{
 alert(window.Fehler)
}
nichtda();

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

Erläuterung:

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

Die Funktion meinFehler()

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 meinFehler() 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
 

© 2001 E-Mail selfhtml@teamone.de