【PHP8.x】getTraceメソッドの使い方

作成日: 更新日:

getTraceメソッドは、PHPプログラムの実行中に発生したエラーや例外の呼び出し履歴(スタックトレース)を取得するメソッドです。ErrorExceptionクラスに属するこのメソッドは、PHPの標準的なエラーが例外として扱われる際に、そのエラーがプログラムのどの部分で発生し、どのような順序で関数やメソッドが呼び出されたかという詳細な情報を提供します。

このメソッドは、例外が発生した時点からさかのぼり、各呼び出しフレームに関する情報を格納した連想配列の配列を返します。各配列要素には、その呼び出しが行われたファイル名、行番号、呼び出された関数名やメソッド名、所属クラス名、そして呼び出しに使用された引数などが含まれます。これにより、開発者はエラーの原因を効率的に特定し、プログラムのデバッグを進めることができます。

getTraceメソッドによって提供されるスタックトレースは、予期せぬ問題が発生した際に、その発生源を特定するための非常に強力なツールです。エラーが発生した正確な場所とその時点までの実行パスを視覚的に把握することで、問題の迅速な解決に繋げることが可能です。システムエンジニアを目指す方にとって、デバッグ能力は必須であり、このメソッドはその基礎となる重要な機能の一つです。

基本的な使い方

構文(syntax)

1<?php
2
3try {
4    // ErrorException を意図的に発生させる例
5    throw new ErrorException("テストエラー", 0, E_ERROR, __FILE__, __LINE__);
6} catch (ErrorException $e) {
7    // 発生した ErrorException オブジェクトからスタックトレースを取得
8    $trace = $e->getTrace();
9    
10    // $trace にはスタックトレースの配列が格納されます
11    // 例: print_r($trace);
12}
13
14?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

array

発生した例外のスタックトレースを配列形式で返します。配列の各要素は、例外発生時の関数の呼び出し履歴を表します。

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