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

getTraceメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getTraceメソッドは、例外がスローされた時点までのプログラムの実行経路の履歴(スタックトレース)を配列として取得するメソッドです。InvalidArgumentExceptionは、メソッドや関数に不正な引数が渡されたときに発生する例外であり、この例外オブジェクトに対してgetTraceメソッドを使用することで、エラー発生に至るまでの関数やメソッドの呼び出し履歴を詳細に追跡できます。この情報は、プログラムのどこで、どのような経緯で予期しない引数が渡されたのかを特定するデバッグ作業において、非常に重要な手がかりとなります。メソッドの戻り値は、呼び出し階層の各ステップを表す連想配列を要素とする配列です。各連想配列には、ファイル名を示すキー('file')、行番号を示すキー('line')、関数名やメソッド名を示すキー('function')などが含まれており、エラーの原因究明に役立ちます。このメソッドはExceptionクラスから継承されているため、InvalidArgumentException以外の多くの例外オブジェクトでも同様に利用することが可能です。

構文(syntax)

1<?php
2function checkValue(int $value) {
3    if ($value <= 0) {
4        throw new InvalidArgumentException("値は正の整数でなければなりません。");
5    }
6    return true;
7}
8
9try {
10    checkValue(-10);
11} catch (InvalidArgumentException $e) {
12    // 例外がスローされた時点のバックトレースを配列として取得します。
13    $trace = $e->getTrace();
14    print_r($trace);
15}
16?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

array

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

関連コンテンツ

関連プログラミング言語