【javascript】エラー処理を実装してエラーレポートを送信する

はじめに

アプリ作る時はクラッシュレポートしてるのにjavascriptのエラーでは全然やってなかった。
jsでも必要があればやったほうがいいかも。ということでメモ

実装

window.onerrorイベントでエラーハンドリングできるみたい

window.addEventListener("error", (e) => {
    // エラー情報取得
    console.log(e.colno); // => 列
    console.log(e.lineno); // => 行
    console.log(e.message); // => エラーメッセージ
    console.log(e.filename); // => エラーのあったファイル

    // エラーメッセージ送信
    var url = "//path/to/report?msg=" + e.lineno + ":" + e.message;
    var request = new XMLHttpRequest();
    request.open("get", url, true);
    request.send(null);
});

try 〜 catchで取得済みの場合は、window.onerrorは呼ばれないので別途実装する

try {
  // 例外がおきる・・・
} catch (e) {
  // Errorオブジェクトが投げられる
}
window.addEventListener("error", (e) => {
  // => 呼ばれない
});

以上です