[Edge]。→、
注: この機能は で利用できます
Window で指定のエラーをエミュレートします。
mdn: コンソールまたはグローバル イベント ハンドラーにエラーを報告できます。キャッチされていない JavaScript 例外をエミュレートします。
この機能は主に、カスタム イベント ディスパッチまたはコールバック操作ライブラリを対象としています。ライブラリはこの機能を使用して、コールバック コードのエラーをキャッチし、トップ レベルのハンドラーに再スローすることができます。これにより、1 つのコールバックで例外が発生しても、他のコールバックの処理が妨げられることはありません。同時に、トップレベルでのデバッグにスタック トレース情報をすぐに利用できるようにします。
| Window | Window オブジェクト。 |
|---|---|
| throwable | TypeError などのエラー オブジェクト。 |
なし(undefined)。
以下を使用したメソッドの機能テスト:
if (typeof self.reportError === 'function') {
// function is defined
}
次のコードは、エラーを作成して報告する方法を示しています。また、グローバルな onerror ハンドラを使用するか、エラー イベントのリスナーを追加することによって、どのようにキャッチされるかを示します。イベントの伝播を停止するには、onerror に割り当てられたハンドラが true を返す必要があることに注意してください。
const newError = new Error('Some error message', "someFile.js", 11);
self.reportError(newError);
window.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"
window.onerror=(message, source, lineno) => { //onerror イベントハンドラーの設定:
alert(message +":"+ source +":"+ lineno);
};
E=new Error('エラーテスト', "あああ", 11); //エラーオブジェクト作成。
window.reportError(E); //エラーをエミュレート。
表示結果は、
Script error.::0
指定したエラー内容が出ていないようだが。
return true; が必要なのか不明。
window.addEventListener('error', (err) => { //errorイベント割り当て:
alert(err.message +":"+ err.fileName +":"+ err.lineNumber);
});
E=new Error('エラーテスト', "あああ", 11); //エラーオブジェクト:message、fileName、lineNumber を指定。
window.reportError(E); //エラーをエミュレート。
表示結果:
Script error.:undefined:undefined
指定したエラー内容が出ていないようだが。