Окно: метод reportError()
Метод reportError() интерфейса Window может использоваться для сообщения об ошибках в консоль или обработчики событий глобальных областей, эмулируя неперехваченное исключение JavaScript.
Эта функция предназначена в первую очередь для пользовательских библиотек обработки событий или манипуляции обратными вызовами. Библиотеки могут использовать эту функцию для перехвата ошибок в коде обратного вызова и повторной их отправки обработчику верхнего уровня. Это гарантирует, что ошибка в одном обратном вызове не помешает обработке других, одновременно гарантируя, что информация об отслеживании стека по-прежнему доступна для отладки на верхнем уровне.
Синтаксис
reportError(throwable)
Параметры
Возвращаемое значение
None (undefined).
Исключения
TypeError-
Метод вызывается без аргумента ошибки.
Примеры
Тестирование функции с использованием:
if (typeof window.reportError === "function") {
// function is defined
}
Следующий код демонстрирует, как создать и сообщить об ошибке, а также как ее можно перехватить, используя свойство обработчика событий onerror или добавив обработчик для события error. Обратите внимание, что обработчик, назначенный onerror, должен возвращать true, чтобы остановить дальнейшее распространение события.
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"
Спецификации
| Спецификация |
|---|
| HTML # runtime-script-errors |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
reportError |
95 | 95 | 93 | 81 | 15.4 | 95 | 93 | 67 | 15.4 | 17.0 | 95 |
См. также
WindowWorkerGlobalScope.reportError()-
Window:errorсобытие -
WorkerGlobalScope:errorсобытие -
HTMLElement:errorсобытие
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Window/reportError