[解決済み】例外をスローしたときにJavaScriptのスタックトレースを取得するにはどうすればよいですか?
2022-03-23 03:24:38
質問
もし私自身がJavaScriptの例外をスローした場合(例.
throw "AArrggg"
) 、スタックトレースを(Firebugなどで)取得するにはどうしたらよいでしょうか? 今はメッセージが表示されるだけです。
編集 : 以下の多くの方が投稿されているように、スタックトレースを取得することで JavaScript の例外 のスタックトレースを取得したいのですが 私の の例外が発生します。 例えば
function foo() {
bar(2);
}
function bar(n) {
if (n < 2)
throw "Oh no! 'n' is too small!"
bar(n-1);
}
いつ
foo
が呼び出されたときに、そのスタックトレースを取得したいのですが、それには
foo
,
bar
,
bar
.
解決方法は?
編集2(2017年)。
すべてのモダンブラウザで、単に呼び出すことができます。
console.trace();
(MDNリファレンス)
編集1(2013年)。
元の質問に対するコメントで指摘されている、より良い(そしてよりシンプルな)解決方法は
stack
プロパティは
Error
オブジェクトのようになります。
function stackTrace() {
var err = new Error();
return err.stack;
}
すると、次のような出力が得られます。
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
URLやその呼び出し関数などとともに、呼び出し関数名を与えること。
オリジナル(2009年)。
の修正版です。 このスニペット は、多少なりとも役に立つかもしれません。
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);
}
関連
-
[解決済み】TypeError:res.jsonは関数ではありません。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] スタックトレースを文字列に変換するにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み】Failed to load resource: net::ERR_FILE_NOT_FOUND loading json.js
-
[解決済み】SyntaxError: ChromeのJavascriptコンソールでUnexpected Identifierが発生する。
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】 Uncaught Error: Invariant Violation: 解決済み】 Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object.
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】Vueが定義されていない
-
[解決済み】JavaScriptでarguments.callee.callerプロパティが非推奨になったのはなぜですか?