Eleganter Umgang mit Fehlern in Javascript

Ähnlich wie andere Sprachen, etwa Java oder C#, enthält Javascript die Anweisung try/catch/finally. Eine try-Anweisung schließt einen Codeabschnitt ein, in dem eine Ausnahme wie zum Beispiel ein Laufzeitfehler vorkommen kann. Die catch-Klausel beschreibt, wie mit dem Fehler verfahren wird, und der finally-Abschnitt enthält Code, der immer ausgeführt wird.

Im Grunde versucht der Code, einen Codeabschnitt auszuführen, und falls der Versuch nicht erfolgreich verläuft, wird die Steuerung an die catch-Klausel übergeben. Der catch-Abschnitt wird übersprungen, falls keine Fehler auftreten. Der finally-Abschnitt wird ausgeführt, nachdem die Abschnitte try und catch ausgeführt wurden. Die Syntax sieht wie folgt aus:


try
{
// code
}
catch
{
// code
}
finally
{
// code
}

Catch-Abschnitte

Die catch– und finally-Abschnitte sind optional, aber keinen catch-Abschnitt einzubauen, ist nicht sinnvoll. Listing C demonstriert den Einsatz von try/catch/finally. Es wird ein Fehler erzeugt, da Bezug auf ein Feld genommen wird, das auf dem Formular nicht existiert.

Listing C

Ein try/catch-Abschnitt kann den Fehler nicht verhindern, jedoch elegant damit umgehen, sodass der Nutzer nicht eine obskure Fehlermeldung im Browser sieht (siehe Listing D).

Listing D

Dies erzeugt die folgende Meldung, aber der finally-Abschnitt stellt sicher, dass das Formular auch trotz aller Fehler, die sich ereignen mögen, abgeschickt wird.


An unexpected error has occurred.
Please contact the administrator.
'document.forms.0.firstName.value'
is null or not an object

Alle Probleme können von einem einzigen catch-Abschnitt bearbeitet werden, es können aber mehrere fehlerspezifische catch-Anweisungen eingesetzt werden.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

3 Tagen ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

3 Tagen ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

3 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

3 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

3 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

3 Tagen ago