Es gibt keine Magie wie in eckigen. Wenn ein nicht erfasster Fehler vorliegt, werden die Bereiche weitergeleitet, bis sie auf ein Fenster treffen, und dann wird ein Fehlerereignis ausgegeben - das gleiche Verhalten wie ein Fehler ohne Reaktion.
%Vor%
Wenn Sie die Cross-Browser-Unterstützung prüfen, aktualisieren Sie diese Antwort oder fügen Sie einen Kommentar mit Zitaten hinzu.
Anstatt es auf der Konsole zu protokollieren (was standardmäßig schon passiert), können Sie es an eine beliebige Stelle senden.
Im Gegensatz zu anderen Frameworks ist ein nicht erfasster Fehler immer ein Fehler in Ihrem Code. Es sollte nie passieren.
Sie müssen möglicherweise auch spezielle Verhelfsfehler behandeln, indem Sie explizit ein .catch(reportError)
am Ende der Ketten hinzufügen und prüfen, ob es sich um einen TypeError oder ReferenceError handelt.
While @ FakeRainBrigands Antwort gibt einen sehr guten Ausgangspunkt, um den Mechanismus des allgemeinen 'Unerhört Fehler' Berichtsmechanismus in Javascript zu verstehen. Ich glaube, dass die meisten Apps ihre JS Bundles mit CDNs hosten, wo Sie einfach nicht erfasste Fehler mit " window.addEventListener ('Fehler', Fn) "Mechanismus.
Beschränken Sie sich auf Crossorigin-Einschränkungen
Setzen Sie das Attribut crossorigin auf das Skript-Tag, damit Sie die Erfassung nicht erfasster Fehler genießen können mit dem Mechanismus "window.addEventListener ('error', fn)".
In Fällen, in denen Sie mit den Einstellungen für Korsagen nicht umgehen können
Reagieren 16 : bietet einen integrierten Fehlerbehandlungsmechanismus. Lesen Sie mehr über Fehlergrenzen in Reagieren hier
Reagiere 15 oder weniger : Nur durch Hinzufügen von try-catch-Blöcken um alle Rendern / Komponenten herum können Fehler aufgefangen werden. Glücklicherweise haben wir ein npm-Modul - react-guard , das genau das für uns tut, indem wir React patchen.
Tags und Links exception-handling error-handling reactjs