【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

このメソッドは、例外が発生した際に、その例外に至るまでのコールスタック(関数呼び出しの履歴)を配列形式で返します。

【PHP8.x】getTraceメソッドの使い方 | いっしー@Webエンジニア