カスタム例外の JavaScript スタック トレースを取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-17 22:29:29
オリジナル
804 人が閲覧しました

How Can You Retrieve a JavaScript Stack Trace for Custom Exceptions?

カスタム例外の 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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!