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

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

作成日: 更新日:

基本的な使い方

『messageプロパティは、例外に関する詳細な説明文を保持するプロパティです』 このプロパティは、PHPの全ての例外クラスの基底となるExceptionクラスで定義されており、UnderflowExceptionクラスもこれを継承しています。UnderflowExceptionは、例えば空のデータ構造から要素を取り出そうとするなど、コンテナが空の状態で不正な操作が行われたことを示すためにスローされる実行時例外です。例外がスローされる際、通常はコンストラクタの引数として「Cannot pop from an empty datastructure」のような具体的なエラーメッセージ文字列が渡され、その内容がこのmessageプロパティに格納されます。プログラムの実行中にこの例外をtry-catchブロックで捕捉した場合、getMessage()メソッドを呼び出すことでmessageプロパティに保存された文字列を取得できます。開発者はこの情報を利用してエラーログを記録したり、デバッグ作業を進めたりすることが可能です。このように、messageプロパティは例外が発生した具体的な原因を文字列として提供し、問題解決を助けるための重要な役割を果たします。

構文(syntax)

1<?php
2
3// 空の配列を表すスタック
4$stack = [];
5
6try {
7    if (empty($stack)) {
8        // 例外をスローする際に、コンストラクタにメッセージ文字列を渡す
9        throw new UnderflowException("コンテナが空のため、要素を取得できません。");
10    }
11} catch (UnderflowException $e) {
12    // getMessage() メソッドを介して protected な message プロパティの値を取得する
13    echo $e->getMessage();
14}
15
16?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

このプロパティは、例外発生時の詳細なエラーメッセージを文字列として返します。

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