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

作成日: 更新日:

messageプロパティは、PHP 8のTypeErrorクラスにおいて、発生した型エラーの具体的な内容を説明するメッセージ文字列を保持するプロパティです。

PHP 8では、関数の引数の型宣言や戻り値の型宣言に違反するなどの型に関するエラーが発生した場合に、TypeErrorオブジェクトがスローされます。このTypeErrorオブジェクトが持つmessageプロパティには、そのエラーがなぜ、どのような状況で発生したのかを示す詳細な文字列が格納されます。例えば、「関数に渡された引数の型が期待されるものと異なっている」といった具体的な情報が含まれます。

通常、このmessageプロパティの値にアクセスするには、TypeErrorオブジェクトに対してgetMessage()メソッドを呼び出すことが推奨されます。これは、TypeErrorクラスがPHPの全ての例外やエラーの基底インターフェースであるThrowableを実装しており、ThrowableインターフェースがgetMessage()メソッドを定義しているためです。このメソッドを通じてエラーメッセージを取得することで、プログラムはエラーの原因を特定し、デバッグ作業を行う上で重要な手がかりを得ることができます。また、開発者がユーザーに対してエラー内容を適切に伝える際にも、このメッセージが利用されます。TypeErrorは、プログラムの型安全性を保つ上で重要な役割を果たすため、そのエラーメッセージを理解することは、堅牢なアプリケーションを開発するために不可欠です。

基本的な使い方

構文(syntax)

1<?php
2try {
3    function processValue(string $value): void {
4        echo "Processing: " . $value;
5    }
6    processValue(123);
7} catch (TypeError $e) {
8    echo $e->message;
9}

引数(parameters)

戻り値(return)

string

このプロパティは、発生したTypeErrorの詳細を示す文字列を返します。

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