ホームページ  >  記事  >  ウェブフロントエンド  >  カスタム JavaScript 例外のスタック トレースを取得するにはどうすればよいですか?

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-17 22:28:29140ブラウズ

How to Retrieve Stack Traces for Custom JavaScript Exceptions?

カスタム例外の JavaScript スタック トレースの取得

JavaScript コードを実行するとき、例外はスクリプトで発生した問題についての貴重な洞察を提供する可能性があります。ただし、自分でスローした例外のスタック トレースを取得するのは困難です。この記事では、この問題に対処し、特に独自の例外のスタック トレースを取得するための解決策を提供します。

当初は、組み込みの JavaScript 例外のスタック トレースのみを取得できました。ただし、最新のブラウザの進歩により、この制限に対処する新しい手法が導入されました。

最新のブラウザの Console.trace()

最近のブラウザでは、console.trace( )の方法が利用可能です。これを呼び出すと、console.trace() 呼び出しの場所を含むスタック トレースを取得できます。

<code class="javascript">console.trace();</code>

すべてのブラウザのエラー スタック プロパティ

元の質問のコメント投稿者によって共有された洗練された解決策には、Error オブジェクトの stack プロパティを利用することが含まれます。

<code class="javascript">function stackTrace() {
    var err = new Error();
    return err.stack;
}</code>

このアプローチでは、console.trace():

DBX.Utils.stackTrace@http://localhost:49573/assets/js/scripts.js:44
DBX.Console.Debug@http://localhost:49573/assets/js/scripts.js:9
.success@http://localhost:49573/:462
x.Callbacks/c@http://localhost:49573/assets/js/jquery-1.10.2.min.js:4
x.Callbacks/p.fireWith@http://localhost:49573/assets/js/jquery-1.10.2.min.js:4
k@http://localhost:49573/assets/js/jquery-1.10.2.min.js:6
.send/r@http://localhost:49573/assets/js/jquery-1.10.2.min.js:6

カスタム スタック トレース関数

これらのメソッドをサポートしていない古いブラウザでは、より複雑な関数を使用してカスタム スタック トレースを取得できます。

以上がカスタム JavaScript 例外のスタック トレースを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。