【PHP8.x】getTraceメソッドの使い方
作成日: 更新日:
getTraceメソッドは、Error
オブジェクトがスローされた時点のバックトレース(関数の呼び出し履歴)を配列として取得するメソッドです。バックトレースとは、エラーが発生するまでにプログラムが辿ってきた処理の足跡を記録したもので、どのファイルのどの行で、どの関数やメソッドが、どのような順番で呼び出されたかを示します。このメソッドを利用することで、エラーに至るまでのプログラムの実行経路を詳細に追跡できるため、エラーの原因を特定するデバッグ作業において極めて重要な手がかりとなります。メソッドが返す配列の各要素は、呼び出し階層の一段階を表す連想配列で構成されており、その中にはファイル名を示す 'file' キー、行番号を示す 'line' キー、関数名を示す 'function' キーなどが含まれています。通常、このメソッドは try...catch
ブロックで捕捉した Error
オブジェクトに対して使用し、エラーの詳細情報をログに出力するなどの目的で利用されます。この機能は Throwable
インターフェースで定義されているため、Exception
クラスでも同様に利用可能です。
基本的な使い方
構文(syntax)
1<?php 2 3try { 4 // 存在しない関数を呼び出して Error を発生させます 5 non_existent_function(); 6} catch (Error $e) { 7 // エラーオブジェクトからバックトレースを配列として取得します 8 $trace = $e->getTrace(); 9 print_r($trace); 10}
引数(parameters)
引数なし
引数はありません
戻り値(return)
array
このメソッドは、例外が発生した際に、その例外に至るまでのコールスタック(関数呼び出しの履歴)を配列形式で返します。