Window: reportError()-Methode
Die reportError()
-Methode der Window
-Schnittstelle kann verwendet werden, um Fehler an die Konsole oder Ereignishandler globaler Bereiche zu melden und emuliert so eine nicht abgefangene JavaScript-Ausnahme.
Dieses Feature ist in erster Linie für benutzerdefinierte Event-Dispatching- oder Callback-Manipulationsbibliotheken gedacht. Bibliotheken können diese Funktion nutzen, um Fehler im Callback-Code abzufangen und sie an den obersten Handler weiterzuleiten. Dies stellt sicher, dass eine Ausnahme in einem Callback nicht verhindert, dass andere behandelt werden, während gleichzeitig sichergestellt wird, dass Stack-Trace-Informationen für das Debugging auf oberster Ebene leicht zugänglich sind.
Syntax
reportError(throwable)
Parameter
Rückgabewert
Keiner (undefined
).
Ausnahmen
TypeError
-
Die Methode wird ohne ein Fehlerargument aufgerufen.
Beispiele
Funktionsprüfung für die Methode mit:
if (typeof window.reportError === "function") {
// function is defined
}
Der folgende Code zeigt, wie Sie einen Fehler erstellen und melden können und wie er entweder mit der onerror
-Ereignishandlereigenschaft oder durch Hinzufügen eines Listeners für das error
-Ereignis abgefangen werden kann.
Beachten Sie, dass der Handler, der onerror
zugewiesen ist, true
zurückgeben muss, um zu verhindern, dass das Ereignis weiter verbreitet wird.
const newError = new Error("Some error message", "someFile.js", 11);
window.reportError(newError);
window.onerror = (message, source, lineno, colno, error) => {
console.error(`message: ${error.message}, lineno: ${lineno}`);
return true;
};
window.addEventListener("error", (error) => {
console.error(error.filename);
});
// Output
// > "message:Some error message, lineno: 11"
// > "someFile.js"
Spezifikationen
Specification |
---|
HTML Standard # runtime-script-errors |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
Window
WorkerGlobalScope.reportError()
Window
:error
EreignisWorkerGlobalScope
:error
EreignisHTMLElement
:error
Ereignis