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

作成日: 更新日:

getTraceメソッドは、ValueErrorクラスに属し、エラーが発生した時点でのスタックトレース(関数呼び出しの履歴)を取得するメソッドです。

ValueErrorは、PHP 8.0以降で導入されたErrorクラスの一種で、関数に渡された引数の値が、その型としては正しいものの、論理的に無効であるか、許容される範囲外である場合に発生します。例えば、正の整数を期待する関数に負の数が渡された場合や、有効な日付形式ではない文字列が渡された場合などにこのエラーが発生する可能性があります。

このgetTraceメソッドは、このようなエラーがどこで発生し、どのような関数の呼び出し順序を経てその地点に至ったかという詳細な情報を配列として提供します。配列の各要素には、エラーが発生したファイル名、行番号、呼び出された関数名、所属するクラス名、渡された引数などの情報が含まれています。

システムエンジニアを目指す方にとって、このスタックトレースは、アプリケーションで発生した問題を効率的にデバッグし、根本原因を特定するための非常に重要な情報源です。エラーメッセージだけでは判断が難しい場合でも、getTraceが提供する呼び出し履歴を分析することで、問題発生までの経緯を正確に追跡し、修正に役立てることができます。特にValueErrorのように値の問題で発生するエラーでは、値がどこから不正になったのかを追跡する上で不可欠な機能と言えます。

基本的な使い方

構文(syntax)

1<?php
2try {
3    str_starts_with("example", "");
4} catch (ValueError $e) {
5    $stackTrace = $e->getTrace();
6}

引数(parameters)

引数なし

引数はありません

戻り値(return)

array

このメソッドは、例外が発生した際の呼び出し履歴(トレース)を配列形式で返します。

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