Window: reportError() 方法
Window 接口的 reportError() 方法可用于将错误报告给全局作用域的控制台或事件处理程序,模拟未捕获的 JavaScript 异常。
此功能主要面向自定义事件分派或回调函数操作库。库可以使用此功能捕获回调代码中的错误,并将它们重新抛出给顶层处理程序。这样可以确保一个回调中的异常不会阻止其他回调被处理,同时还能确保堆栈跟踪信息在顶层调试时仍然可用。
语法
js
reportError(throwable)
参数
返回值
无(undefined)。
异常
TypeError-
在不带错误参数的情况下调用该方法。
示例
使用此方法进行功能测试
js
if (typeof window.reportError === "function") {
// function is defined
}
以下代码显示了如何创建和报告错误,以及如何使用 onerror 事件处理程序属性或通过添加 error 事件监听器来捕获它。请注意,分配给 onerror 的处理程序必须返回 true 才能阻止事件进一步传播。
js
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 |
浏览器兼容性
加载中…