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

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

作成日: 更新日:

基本的な使い方

『messageプロパティは、例外に関する詳細な説明文、すなわちエラーメッセージを文字列として保持するプロパティです。このプロパティは、BadFunctionCallExceptionクラスが親クラスであるExceptionクラスから継承したものです。BadFunctionCallExceptionは、関数呼び出しに論理的な誤りがあった場合にスローされる例外で、具体的には、関数に渡すべき引数が不足している場合や、無効なコールバック関数が指定された場合などに発生します。プログラムの実行中にこのようなエラーが発生すると、PHPエンジンはエラーの原因を説明する具体的なメッセージを生成し、それをmessageプロパティに格納した上で例外オブジェクトを生成します。開発者は、try-catchブロックでこの例外オブジェクトを捕捉し、getMessage()メソッドを呼び出すことで、messageプロパティに格納されたエラーメッセージを取得できます。取得したメッセージは、エラーログへの記録やデバッグ情報の表示に利用され、問題箇所の特定と修正を効率的に行うための重要な手がかりとなります。なお、このプロパティはprotectedとして定義されているため、getMessage()メソッドを介して値を取得することが推奨される作法です。』

構文(syntax)

1<?php
2
3try {
4    // 存在しない関数を呼び出そうとすると BadFunctionCallException がスローされます。
5    call_user_func('non_existent_function');
6} catch (BadFunctionCallException $e) {
7    // getMessage() メソッド経由で、例外メッセージを取得します。
8    // この message プロパティは protected のため、直接アクセスはできません。
9    echo $e->getMessage();
10}
11
12?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

このプロパティは、例外が発生した理由を示す文字列を返します。