【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

このメソッドは、発生したエラーコードを表す整数値を返します。

【PHP8.x】getCodeメソッドの使い方 | いっしー@Webエンジニア