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

作成日: 更新日:

codeプロパティは、ValueErrorクラスが表現する値のエラーに関連するエラーコードを保持するプロパティです。PHP 8で導入されたValueErrorは、関数の引数が正しいデータ型であるにもかかわらず、その値が論理的に不正であるか、受け入れられない範囲にある場合にスローされる例外です。

このcodeプロパティは、発生したValueErrorに付随する特定の数値コードを格納します。これにより、プログラムはエラーの種類をより詳細に識別しやすくなります。例えば、ある関数が期待する引数の値が特定の条件を満たさない場合、その条件に応じたユニークなエラーコードをこのプロパティに設定することができます。

通常、カスタムのエラーコードが明示的に指定されない限り、このcodeプロパティの値は0となります。しかし、より複雑なアプリケーションやライブラリでは、エラーの種類や原因を細かく区別するために、0以外の特定の数値を設定し、エラーハンドリングの際にその値を利用することが推奨されます。

システムエンジニアがエラー処理を実装する際、try-catchブロックでValueErrorを捕捉し、このcodeプロパティの値を確認することで、エラーの種類に応じた適切なログ記録や、ユーザーへのフィードバック、あるいは回復処理を実行することが可能になります。これは、PHPの全ての例外やエラーの基底となるThrowableインターフェースに定義されているgetCode()メソッドが返す値と連携しており、一貫したエラーハンドリング戦略を構築する上で非常に重要な役割を果たします。

基本的な使い方

構文(syntax)

1<?php
2try {
3    throw new ValueError("An invalid value was provided.", 1001);
4} catch (ValueError $e) {
5    echo $e->code;
6}

引数(parameters)

戻り値(return)

int

ValueError クラスの code プロパティは、発生したエラーの種類を示す整数値を返します。

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