【PHP8.x】messageプロパティの使い方

messageプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

messageプロパティは、例外に関する説明的なメッセージを保持するプロパティです。このプロパティはUnexpectedValueExceptionクラスに固有のものではなく、その基底クラスであるExceptionクラスから継承されています。そのため、PHPのほとんどの例外オブジェクトで共通して利用可能です。UnexpectedValueExceptionは、値が期待される型や範囲と一致しない場合にスローされる例外です。この例外を生成する際、コンストラクタの第一引数にエラーの原因を説明する文字列を渡すと、その内容がこのmessageプロパティに格納されます。プログラムの実行中にtry...catchブロックで例外を捕捉した際に、このプロパティの値を確認することで、なぜエラーが発生したのかという具体的な理由を知ることができます。通常、このプロパティはprotectedとして定義されているため、getMessage()メソッドを通じて値を取得します。このメッセージは、エラーログへの出力やデバッグ時の原因特定に非常に役立ちます。

構文(syntax)

1<?php
2
3try {
4    // 期待しない値を表す例外を意図的にスローします。
5    // コンストラクタの第一引数が message プロパティに設定されます。
6    throw new UnexpectedValueException("予期しない値が検出されました。");
7} catch (UnexpectedValueException $e) {
8    // catchした例外インスタンスから message プロパティの値を取得します。
9    // message プロパティは protected のため、getMessage() メソッド経由でアクセスします。
10    echo $e->getMessage();
11}
12
13?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

UnexpectedValueExceptionクラスのmessageプロパティは、例外が発生した際の具体的なエラーメッセージを文字列として返します。

【PHP8.x】messageプロパティの使い方 | いっしー@Webエンジニア