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 |
瀏覽器相容性
載入中…