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

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

作成日: 更新日:

基本的な使い方

『codeプロパティは、例外に関連付けられたエラーコードを保持するプロパティです』。このプロパティは、PHPの全ての例外クラスの基底となるExceptionクラスで定義されており、BadFunctionCallExceptionクラスはこれを継承して利用します。プログラマは例外を発生させる際に、独自の数値コードをこのプロパティに設定できます。具体的には、BadFunctionCallExceptionのインスタンスを生成する際のコンストラクタの第二引数に整数値を渡すことで値を設定します。設定されたエラーコードは、try-catch構文のcatchブロック内で、例外オブジェクトのgetCode()メソッドを呼び出すことによって取得できます。このcodeプロパティを利用することで、同じ種類の例外であっても、発生した具体的な状況に応じて処理を分岐させることが可能になります。例えば、関数呼び出しエラーの中でも、引数の数が不足している場合と、コールバック関数が無効な場合とで異なるコードを割り当て、catchブロックでそのコードを判別して、それぞれに適したエラー処理を実装するといった使い方ができます。もしコードが明示的に指定されなかった場合、このプロパティのデフォルト値は0となります。

構文(syntax)

1<?php
2
3try {
4    // 第2引数に任意の整数コードを指定して例外をスローします
5    throw new BadFunctionCallException('関数呼び出しに失敗しました。', 500);
6} catch (BadFunctionCallException $e) {
7    // getCode() メソッドを使って例外コードを取得します
8    $exceptionCode = $e->getCode();
9    echo $exceptionCode; // 500 が出力されます
10}
11
12?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

この code プロパティは、例外が発生した際の具体的なエラーコードを整数値で返します。