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

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

作成日: 更新日:

基本的な使い方

getTraceAsStringメソッドは、プログラムの実行中に例外が発生した際に、その例外がどこでどのように発生したかを追跡するための情報を文字列形式で取得するメソッドです。具体的には、例外が発生するまでに呼び出された関数やメソッドの順番(これを「スタックトレース」と呼びます)を詳細に記録し、人間が読みやすい形式で提供します。

このメソッドは、PHPの基本的な例外クラスに共通して備わっており、DateMalformedPeriodStringExceptionクラスもこの機能を持っています。DateMalformedPeriodStringExceptionは、日付や時刻の期間を表す文字列が正しい形式でなかった場合に発生する例外です。したがって、この例外が発生した場合にgetTraceAsStringメソッドを呼び出すことで、どのコード行で不正な期間文字列が作成され、それが原因で例外がスローされたのかを正確に把握することができます。

この情報は、プログラムのデバッグ作業において非常に重要であり、エラーの原因特定や問題解決の手がかりとして利用されます。また、エラーログに出力することで、本番環境でのトラブルシューティングにも役立ちます。戻り値は、スタックトレース情報が整形された文字列です。

構文(syntax)

1<?php
2
3try {
4    // 不正な期間文字列を DatePeriod のコンストラクタに渡すことで例外を発生させる
5    $period = new DatePeriod('INVALID_PERIOD_STRING');
6} catch (DateMalformedPeriodStringException $e) {
7    // 発生した例外オブジェクトからスタックトレースを文字列として取得し出力する
8    echo $e->getTraceAsString();
9} catch (Throwable $e) {
10    // DateMalformedPeriodStringException 以外の予期せぬ例外を捕捉する
11    echo "予期せぬエラー: " . $e->getMessage();
12}
13
14?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

このメソッドは、例外発生時の詳細な実行トレース情報を文字列として返します。

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