Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Error::Error.captureStackTrace静的メソッドの使い方

Error.captureStackTrace()静的メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Error.captureStackTrace()メソッドは、指定されたオブジェクトに、関数が呼び出された際の履歴(スタックトレース)を付与するメソッドです。このメソッドは、V8 JavaScriptエンジン(例えばNode.jsやGoogle Chromeの実行環境)に特有のもので、標準のECMAScript仕様には含まれていませんが、これらの環境で非常に有用です。

スタックトレースとは、プログラムの実行中にどのような関数が、どのような順序で呼び出されて現在の地点に至ったかを示す情報のことです。エラーが発生した際に、このスタックトレースがあることで、どこで問題が起きたのか、またその問題がどのような経緯で発生したのかを正確に特定し、デバッグ作業を効率的に進めることができます。

このメソッドは通常、第一引数にスタックトレース情報を追加したいオブジェクト(よくカスタムエラーオブジェクト)を受け取ります。第二引数はオプションで、スタックトレースに含めない開始点を指定するためのコンストラクタ関数を指定できます。これにより、カスタムエラークラスのコンストラクタ自体がスタックトレースの最上部に表示されるのを避け、より関連性の高い呼び出し履歴から表示を開始することが可能となります。

主に、独自のカスタムエラークラスを作成する際に利用され、標準のエラーオブジェクトと同様に詳細なデバッグ情報を提供できるようにするために活用されます。これにより、システムエンジニアは発生した問題の原因を素早く突き止め、解決に導くことができます。

公式リファレンス: Error.captureStackTrace()

構文(syntax)

1const targetObject = new Error('エラーメッセージ');
2Error.captureStackTrace(targetObject);

引数(parameters)

targetObject, constructorOpt

  • targetObject: Errorオブジェクトを生成する元となるオブジェクト
  • constructorOpt: スタックトレースから除外するコンストラクタ関数を指定するオプション

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ