Meldung

12.12.2007 - Behandlung von Ausnahmen (Exceptions) unter JavaScript

Ähnlich wie unter Java, ist es auch in JavaScript möglich Ausnahmen (Exceptions) zu behandlen. Diese Ausnahmebehandlungen dienen der Reaktion auf im Ablauf des Programmcodes auftretende Fehler. Es existieren einige vordefinierte Exceptions, wie beispielsweise die mit dem Namen „ReferenceError”, welche geworfen wird, wenn auf eine nicht existierende Variable zugegriffen wird. Die Exception wird an der Stelle geworfen, an welcher der Zugriff auf die Variable erfolgt. Soll dieser Fehler abgefangen werden, so ist es nötig, dass ein Try-Catch-Block um den kritischen Zugriff gelegt wird.

Aber auch selbstdefinierte Funktionen können so implementiert werden, dass sie im Fehlerfall selbst (mit dem Schlüsselwort Throw) eine Exception werfen. Diese sollte vom aufrufenden Code mit dem Try-Catch-Konstrukt abgefangen und entsprechend behandelt werden. In jedem Fall dient der im Catch-Abschnitt notierte JavaScript Code der Reaktion auf den aufgetretenen Fehler. Dies kann im Einzelfall die Ausgabe einer entsprechenden Fehlermeldung – etwa durch eine Alert-Box – oder aber das Wiederherstellen eines gültigen Programmzustandes sein.

Neben den vordefinierten Exceptions besteht die Möglichkeit, eigene Exceptions zu definieren. Wird beispielsweise bei der Berechnung einer Division durch 0 geteilt, so führt dies zu einem Fehler, da diese Operation nicht definiert ist. In einem Beispiel wird hierzu ein passendes Exception-Objekt implementiert und entsprechend genutzt. Denkbar ist beispielsweise auch eine IndexOutOfBounds-Exception, die beim Zugriff auf einen in einem Array nicht enthaltenen Indexwert reagiert. Wird diese Exception beim Zugriff auf Arrays vom Programm abgefangen, so hilft dies bei der Fehlersuche.

Weitere Informationen zu den verfügbaren Kontrollstrukturen unter JavaScript finden Sie auf den Seiten Switch-Anweisung, For-Statement, While-Anweisung, Do-While-Schleife sowie in der Beschreibung des If-Statements.


Alexander Müller