Eleganter Umgang mit Fehlern in Javascript

Unerwarteten Fehlern kann man mit try/catch-Anweisungen leicht begegnen. In einigen Fällen möchte man mit Fehlern jedoch vielleicht anders umgehen. Javascript bietet die throw-Anweisung an. Die Syntax ist einfach: throw gefolgt von der zu generierenden Ausnahme. So kann der Programmierer individuelle Ausnahmen definieren und per throw-Anweisung auslösen. Der Code in Listing E erzeugt eine Ausnahme für fehlende Werte und wird generiert.

Listing E

Die folgende Meldung wird angezeigt (wenn für das Feld kein Wert eingegeben wird):


An unexpected error has occurred.
Please contact the administrator.
First name is missing.

Außerdem kann man den instanceof-Operator verwenden, um die Art der Ausnahme zu ermitteln und entsprechend zu reagieren. Der Code in Listing F überprüft den Typ des Ausnahmeobjekts und zeigt entsprechende Daten an.

Listing F

Der instanceof-Operator kann in Verbindung mit Standardfehlern eingesetzt werden. Javascript definiert die folgenden Typen für Javascript-Standardfehler:

EvalError: Zeigt an, dass die übergreifende eval-Funktion falsch eingesetzt wurde.
RangeError: Weist darauf hin, dass ein numerischer Wert seinen Wertebereich überschritten hat.
ReferenceError: Eine illegale Referenz wurde festgestellt.
SyntaxError: Beim Parsen ist ein Fehler aufgetreten.
TypeError: Tatsächlicher Typ eines Operanden entspricht nicht dem erwarteten Typ.
URIError: Eine der globalen URI-Funktionen (encodeURI oder decodeURI) wurde falsch eingesetzt.

Der Code in Listing G setzt den TypeError-Typ in einer catch-Anweisung ein. Ein Typ-Fehler wird hier durch das zusätzliche d in der Zeile erzeugt, die Bezug auf den Feldnamen nimmt (ddocument).

Listing G

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

5 Tagen ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

6 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

6 Tagen ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

6 Tagen ago

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

7 Tagen ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

1 Woche ago