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

作成日: 更新日:

『codeプロパティは例外コードを保持するプロパティです』 このプロパティは、PHPの基本的な例外クラスであるExceptionクラスで定義されており、ArgumentCountErrorクラスはこれを継承して利用します。開発者は例外を意図的に発生させる際に、エラーメッセージと共に任意の整数コードを指定することができ、その値がこのcodeプロパティに格納されます。try...catch構文を用いて例外を捕捉した際には、getCode()メソッドを通じてこの数値を取得し、コードの値に応じて処理を分岐させることが可能です。これにより、同じ種類の例外であっても、発生原因ごとに異なる対応を行うといった、より詳細なエラーハンドリングを実装できます。ArgumentCountErrorは、主に関数やメソッドの引数の数が期待された数と異なるときにPHPエンジンによって自動的にスローされるエラーです。この場合、codeプロパティには通常、デフォルト値である0が設定されています。

基本的な使い方

構文(syntax)

1<?php
2
3function add(int $a, int $b) {
4    return $a + $b;
5}
6
7try {
8    // 引数を1つ不足させて関数を呼び出し、ArgumentCountErrorを発生させる
9    add(1);
10} catch (ArgumentCountError $e) {
11    // 捕捉したエラーオブジェクトの code プロパティの値を出力する
12    // public readonly int $code;
13    var_dump($e->code);
14}
15
16?>

引数(parameters)

戻り値(return)

int

ArgumentCountErrorクラスのcodeプロパティは、エラーコードを表す整数値を返します。

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