カスタム例外の JavaScript スタック トレースを取得する方法
JavaScript での例外の作成とスローは、エラー処理に不可欠です。ただし、カスタム例外をスローする場合 (例: 「AArrggg」をスローする)、デフォルトではエラー メッセージのみが表示されます。このため、実行フローを追跡してエラーの原因を特定することが困難になります。
最新のソリューション (2017)
最新のブラウザーには console.trace() が用意されています。例外発生時にスタックトレースを生成するメソッド。例外ハンドラの catch ブロック内でこのメソッドを呼び出すだけで、スタック トレースを表示できます。
Error オブジェクト ベースのソリューション
もう 1 つの効果的なアプローチは、Error オブジェクトを作成することです。そしてそのスタックプロパティを利用します。 stack プロパティには、例外につながる関数呼び出しに関する情報を含む詳細なスタック トレースが含まれています。次のコード スニペットは、このアプローチを示しています。
<code class="javascript">function stackTrace() { var err = new Error(); return err.stack; }</code>
カスタム スタック トレース関数
2009 年に、カスタム スタック トレース関数が潜在的な回避策として提案されました。
<code class="javascript">function stacktrace() { function st2(f) { return !f ? [] : st2(f.caller).concat([f.toString().split('(')[0].substring(9) + '(' + f.arguments.join(',') + ')']); } return st2(arguments.callee.caller); }</code>
この関数は呼び出しスタックを反復的に走査し、カスタム スタック トレースを構築します。これは、console.trace() メソッドをサポートしていない古いブラウザでは有益です。
上記のメソッドのいずれかを使用して JavaScript スタック トレースを取得すると、実行フローとその実行に関する貴重な洞察が得られます。エラーが発生した状況。この情報は、エラーのトラブルシューティングと効果的な解決に不可欠です。
以上がカスタム例外の JavaScript スタック トレースを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。