すべてのJavaScriptエラーがChrome開発者ツールコンソールに書き込まれることを確認するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/9318728

  •  26-10-2019
  •  | 
  •  

質問

次のJavaScript関数を考慮してください。

function triggerError() {
   var something = undefined;
   // The next line will trigger 'TypeError: Cannot call ... of undefined'
   something.doesNotExist();
}

実行するとき triggerError(); 直接次のエラーは、Chrome Developer Tools ConsoleにRedに書き込まれます。これは予想されます。

TypeError: Cannot call method 'doesNotExist' of undefined

ただし、いつ triggerError(); イベントリスナーから実行されていますエラーはコンソールに書き込まれません(関数呼び出しは静かに死ぬだけです something.doesNotExist();)タイプミスなどの場合、デバッグが非常に難しいものになります。

イベントリスナー/コールバックから実行されているコードで生成されたエラーなど、すべてのエラーがChrome開発者ツールコンソールに書き込まれることを確認するにはどうすればよいですか?

明らかなワークアラウンドの1つは、追加することです try { ... } catch (x) { console.log(x) }; あちこちにありますが、タイプミスを追加する場所が事前にわからないので、これは今後の道ではありません。

役に立ちましたか?

解決

あなたのサンプルを見せてもらえますか、私は次のスニペットでそれを再現しようとしました、そしてそれは私にとって完全にうまく機能します:

<script>
function triggerError() {
   var something = undefined;
   // The next line will trigger 'TypeError: Cannot call ... of undefined'
   something.doesNotExist();
}
window.addEventListener("click", triggerError, true);
</script>
<body onclick="triggerError()">
</body>

他のヒント

aを使用できます try catch :

function triggerError() {
    try{
        var something = undefined;
        // The next line will trigger 'TypeError: Cannot call ... of undefined'
        something.doesNotExist();
   }catch(ex){
        console.error(ex.message);
   }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top