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

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

作成日: 更新日:

基本的な使い方

getTraceAsStringメソッドは、例外のスタックトレースを文字列として取得するために使用するメソッドです。このメソッドは、LogicExceptionクラスが実装するThrowableインターフェースから継承されています。そのため、LogicExceptionだけでなく、PHPにおける全ての例外オブジェクトで使用することが可能です。スタックトレースとは、プログラムの実行過程を記録したもので、例外が発生した時点までの関数やメソッドの呼び出し履歴を順番に示したものです。具体的には、どのファイルの何行目でどの関数が呼び出され、それが次にどの関数を呼び出したかといった詳細情報が含まれます。このメソッドを呼び出すと、これらの呼び出し履歴が整形された読みやすい文字列として返されます。主にデバッグの場面で利用され、try-catchブロック内で捕捉した例外オブジェクトからこのメソッドを呼び出すことで、エラーログに詳細な情報を記録し、例外発生の原因特定や、そこに至るまでの処理の流れを追跡するのに役立ちます。パラメータは不要で、戻り値としてスタックトレースを表す文字列を返します。

構文(syntax)

1<?php
2function performLogic() {
3    // 意図的にロジックエラーを発生させます。
4    throw new LogicException("Logic error example.");
5}
6
7function executeTask() {
8    performLogic();
9}
10
11try {
12    executeTask();
13} catch (LogicException $e) {
14    // 例外がスローされた時点のバックトレースを文字列として取得します。
15    $traceString = $e->getTraceAsString();
16
17    // 取得した文字列を出力します。
18    echo $traceString;
19}
20?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

このメソッドは、例外発生時のコールスタック(処理の呼び出し履歴)を文字列形式で返します。