Fehlerbehandlung ajax//fetch
bearbeitet von Rolf BHallo pl,
was tust Du zuerst, wenn Du ein Blasinstrument spielen wilst? (a) Einatmen (b) Instrument an den Mund setzen.
Richtig: A. Weil's andersrum komisch quietscht.
Und was tust Du, wenn Du beim Einatmen einen Krümel in den Hals bekommst? Richtig: Tröte NICHT ansetzen. Statt dessen möglichst elegant dem Krümel in die nächste Ecke husten. Andernfalls erzeugst Du sehr schrille Töne.
(a) ist das Generieren der Daten für die Response
(b) ist das Setzen des binären Content-Type, mit dem Du dann mehr oder weniger wohlklingend deine Statuscode 200 Antwort in die Welt bläst.
Der böse Krümel ist die Exception.
Der Husten ist die HTTP-500 Antwort. Das Instrument wurde nicht angesetzt, d.h. der Content-Type ist unverändert (also wohl ein text/* Typ). Du kannst natürlich sicherheitshalber vor dem Raushusten der Fehlermeldung ein Taschentuch zücken und den Content-Type explizit auf text/plain, text/html oder application/json setzen. Mit letzterem kannst Du dem Client ein wunderbares Fault-Objekt vor die Nase keuchen.
Es ist jetzt nur am Zuhörer, den Unterschied zwischen Trompetenspiel und Husten zu erkennen und dementsprechend die Darbietung zu genießen oder die Nase zu rümpfen.
Kaum macht man's richtig, schon funktioniert es.
_Rolf_
--
sumpsi - posui - clusi