【PHP8.x】getCodeメソッドの使い方
getCodeメソッドは、ValueError
オブジェクトに設定されているエラーコードを取得するメソッドです。
ValueError
は、PHP 8で導入された例外クラスで、関数やメソッドに渡された引数の型は正しいものの、その値が期待される範囲や形式ではない場合に発生します。例えば、数値が期待される引数に負の値が渡された場合や、無効な列挙型ケースが渡された場合などに、このエラーがスローされます。
このgetCode
メソッドを呼び出すと、現在発生しているValueError
インスタンスに関連付けられた整数型のエラーコードが返されます。PHPの組み込み例外であるValueError
の場合、通常このメソッドはデフォルトで0
を返します。これは、組み込みのValueError
が通常、特定の数値コードを持つのではなく、エラーメッセージによって詳細が伝えられるためです。しかし、開発者が独自のカスタム例外クラスを作成し、ValueError
を継承した場合や、ValueError
をスローする際に明示的にエラーコードを設定した場合には、その設定されたコード値が返されます。
このエラーコードは、アプリケーション内で発生した特定のエラーを識別し、その種類に応じて異なる処理を実行したい場合に役立ちます。例えば、try-catch
ブロックでValueError
を捕捉し、getCode
メソッドで取得したコードに基づいて、ユーザーへの表示メッセージを変えたり、ログに出力する内容を調整したりすることができます。これにより、プログラムのデバッグやエラー回復ロジックをよりきめ細かく実装することが可能になり、システムエンジニアを目指す上で重要な、堅牢なアプリケーション開発に繋がります。
基本的な使い方
構文(syntax)
1try { 2 // 不適切な引数を渡すことで ValueError を発生させる例 3 str_contains("string", 123); 4} catch (ValueError $e) { 5 // ValueError インスタンスからエラーコードを取得する構文 6 $errorCode = $e->getCode(); 7}
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
このメソッドは、発生したエラーコードを表す整数値を返します。