WorkerGlobalScope: метод reportError()
Примечание: Эта функция доступна только в Веб-воркерах.
Метод reportError() интерфейса WorkerGlobalScope может использоваться для сообщения об ошибках в консоль или обработчики событий глобальных областей, эмулируя неперехваченное исключение JavaScript.
Эта функция предназначена в первую очередь для пользовательских библиотек, которые отслеживают события или изменяют поведение обратных вызовов. Библиотеки могут использовать эту функцию для перехвата ошибок в коде обратного вызова и повторного их выброса в обработчик верхнего уровня. Это гарантирует, что ошибка в одном обратном вызове не помешает обработке других, одновременно обеспечивая доступность информации о стеке вызовов для отладки на верхнем уровне.
Синтаксис
reportError(throwable)
Параметры
Возвращаемое значение
None (undefined).
Исключения
TypeError-
Метод вызван без аргумента ошибки.
Примеры
Тестирование функции с использованием:
if (typeof self.reportError === "function") {
// function is defined
}
Следующий код демонстрирует, как создать и сообщить об ошибке, а также как её можно перехватить, используя свойство обработчика событий onerror или добавив слушатель для события error. Обратите внимание, что обработчик, назначенный для onerror, должен возвращать true, чтобы остановить распространение события.
const newError = new Error("Some error message", "someFile.js", 11);
self.reportError(newError);
self.onerror = (message, source, lineno, colno, error) => {
console.error(`message: ${error.message}, lineno: ${lineno}`);
return true;
};
self.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 |
См. также
WorkerGlobalScopeWindow.reportError()-
errorсобытие -
errorсобытие -
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/WorkerGlobalScope/reportError