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

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

作成日: 更新日:

基本的な使い方

codeプロパティは、スローされた例外の整数コードを保持するプロパティです。このプロパティはUnexpectedValueExceptionクラスに固有のものではなく、PHPにおける全ての例外の基底クラスであるExceptionクラスから継承されています。そのため、UnexpectedValueExceptionを含むPHPのほとんどの例外オブジェクトで利用することができます。このプロパティの主な目的は、人間が読むための例外メッセージとは別に、発生したエラーの種類をプログラムが機械的に識別することです。デフォルト値は0ですが、例外インスタンスを生成する際のコンストラクタの第二引数で、開発者が意図した任意の整数値を設定できます。例えば、データベース関連のエラーに1000番台、ファイルシステム関連のエラーに2000番台といった独自の規則を設け、try...catchブロック内でgetCode()メソッドを用いてこの値を取得します。これにより、取得したコードに応じて処理を分岐させ、エラーの種類ごとに特化した回復処理やログ記録などを実装することが可能になります。このように、codeプロパティは、より構造的で信頼性の高いエラーハンドリングを実現するために重要な役割を果たします。

構文(syntax)

1<?php
2
3try {
4    // 第2引数に例外コードとして整数値を設定します。
5    throw new UnexpectedValueException('予期しない値が検出されました。', 400);
6} catch (UnexpectedValueException $e) {
7    // 継承された getCode() メソッドで code プロパティの値を取得します。
8    $code = $e->getCode();
9    echo $code; // 400 が出力されます。
10}
11
12?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

UnexpectedValueExceptionクラスのcodeプロパティは、例外が発生した原因を示す整数コードを返します。