dedlfix: Frage zum Wiki-Artikel „Fehlerbehandlung“

Beitrag lesen

problematische Seite

Tach!

Wenn mir ein besseres Beispiel einfällt, werde ich da mal aktiv werden (sofern sonst keiner schneller ist).

try-catch in Javascript ist etwas schwierig. Üblicherweise nimmt man das nicht, um eigene Programmierfehler abzufangen, sondern mehr wenn externe Services fehlschlagen. Diese fragt man aber asynchron ab, und dafür geht try-catch nicht wirklich. Wenn der Callback im try-Teil liegt, zieht try-catch nicht, weil für den Callback zwar Closures aufgehoben werden, aber nicht der gesamte Kontext. Das Callback läuft also nicht in dem Block, obwohl es darin notiert ist.

Anderer Versuch: Eine Funktion (vielleicht aus einer Bibliothek) nimmt Parameter entgegen und prüft den Typ. Wenn er unpassend ist, wirft sie eine Exception. Allerdings ist es meist unsinnig, diese Exception im aufrufenden Teil fangen zu wollen, denn eigentlich hat man einen logischen Fehler im Programm, der es zulässt, dass diese Funktion mit falschen Parameter aufgerufen wird. Exceptions sind kein Ersatz für Prüfungen. Division durch Null ist ein ebensolches Thema. Besser vorher die Operanden prüfen statt das Programm in eine Exception reinlaufen zu lassen.

dedlfix.