javascript スタックトレースを出力する

javascript スタックトレースを出力する

javascriptで、stackを使って、スタックトレースを出力するサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 103.0.5060.134

stack使い方

stackを使用すると、スタックトレースを出力することが可能です。

try {
  // 独自の例外を発生させる
  throw new Error("error!!")
} catch (e) {
  if (e.stack) {
    console.log(e.stack);    
  } else {
    // stackがなければmessageを出力
    console.log(e.message, e);
  }
}

実行結果

なので、以下のような関数を実行するとスタックトレースが出力されるようになります。

const sample1 = () => { throw new Error("error!!") };
const sample2 = () => { sample1() };

try {  
  sample2 ()
} catch (e) {
  if (e.stack) {
    console.log(e.stack);
  } else {
    // stackがなければmessageを出力
    console.log(e.message, e);
  }
}

実行結果