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

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

作成日: 更新日:

基本的な使い方

codeプロパティは、DateMalformedPeriodStringExceptionオブジェクトが保持する、エラーの種類を示す整数値を保持するプロパティです。このDateMalformedPeriodStringExceptionは、PHPのDatePeriod::createFromDateStringメソッドを利用して日付期間を生成しようとした際に、指定された期間文字列が有効な形式ではない場合に発生する特別な例外です。

一般的な例外クラスであるExceptionが持つcodeプロパティと同様に、このcodeプロパティも、例外が発生した具体的な原因や状況を数値で識別するために使用されます。これにより、プログラマーは例外をキャッチした際に、このcodeの値を確認することで、発生した問題がどのような種類のものであるかをプログラム的に判断できます。

例えば、複数の期間文字列の検証を行うアプリケーションにおいて、このcodeプロパティを利用することで、どの期間文字列がどのような理由で不正と判断されたのかを細かく識別し、それに応じた適切なエラー処理やログの記録、ユーザーへのフィードバックを行うことが可能になります。システムエンジニアを目指す初心者の方も、例外処理を行う際には、getMessage()メソッドでエラーメッセージを取得するだけでなく、このcodeプロパティからエラーコードも取得し、エラーの特定やデバッグに役立てることができます。

構文(syntax)

1<?php
2
3// DateMalformedPeriodStringException は Exception を継承しているため、
4// code プロパティは Exception クラスのプロパティとしてアクセスできます。
5// これは、例外がスローされたときに設定されたエラーコードを保持します。
6
7try {
8    // 例外を生成し、エラーコード123を設定する
9    throw new DateMalformedPeriodStringException('期間文字列の形式が不正です。', 123);
10} catch (DateMalformedPeriodStringException $e) {
11    // 例外オブジェクトの code プロパティにアクセスし、その値を取得する
12    echo $e->code;
13}
14
15?>

引数(parameters)

戻り値(return)

int

このプロパティ code は、発生した例外の種類を示す整数コードを返します。