すべてのJavaScriptエラーがChrome開発者ツールコンソールに書き込まれることを確認するにはどうすればよいですか?
-
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);
}
}
所属していません StackOverflow