Die Fehlerbehandlung legt fest, was geschieht, wenn etwas schiefgeht, damit ein einzelner Fehler nicht alles anhält.
- Fehlerbehandlung
Der Teil eines Programms, der vorsieht, was bei einem Fehler geschehen soll, damit die Ausführung geordnet weitergeht oder abbricht.
Beispiel: „Ohne Fehlerbehandlung reicht eine überlastete Schnittstelle, um die ganze Seite weiß zu machen.“Auch: Exception Handling. Eine Exception ist dabei der Ausnahmefall selbst, den ein Programm auslöst und an anderer Stelle auffängt.
Abgrenzung zur Fehlerbehandlung in JavaScript: Dort geht es um die Schreibweise im Browser, hier um das Vorgehen insgesamt.
Werfen und fangen
Tritt ein Fehler auf, wird eine Ausnahme ausgelöst. Sie steigt durch die aufrufenden Funktionen nach oben, bis eine Stelle sie auffängt. Fängt sie niemand, bricht das Programm ab.
Diese Trennung ist der Sinn der Sache: Die Stelle, an der ein Fehler auffällt, ist selten die, an der entschieden werden kann, was nun zu tun ist. Eine Funktion zum Lesen einer Datei weiß nicht, ob das Fehlen schlimm ist.
Was eine gute Behandlung ausmacht
Dass sie etwas tut. Ein leerer Auffangblock, der den Fehler verschluckt, ist schlimmer als keiner: Das Programm läuft scheinbar weiter, und niemand erfährt, dass etwas fehlgeschlagen ist.
Dazu gehört die Unterscheidung zwischen erwartbar und außergewöhnlich. Eine leere Eingabe ist kein Ausnahmefall, sondern eine Prüfung. Ausnahmen sind für das gedacht, womit an dieser Stelle nicht zu rechnen war.
Was der Besucher sehen soll
Eine verständliche Meldung und einen Weg weiter, niemals die technischen Einzelheiten. Ein Fehlerbericht mit Dateipfaden und Code verrät Angreifern mehr über das System als jede andere Quelle.
In unseren über 2.500 Website-Projekten ist eine Seite, die im Fehlerfall Dateipfade zeigt, einer der ersten Punkte, die wir bei einer Übernahme abstellen. Technisch ist das ein Schalter, praktisch wird er regelmäßig vergessen.