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

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

作成日: 更新日:

基本的な使い方

codeプロパティは、PHP 8で導入されたDateInvalidOperationExceptionクラスにおいて、発生した例外の種類を示す整数値を保持するプロパティです。このDateInvalidOperationExceptionクラスは、日付や時刻を扱うDateTimeオブジェクトに関連する操作で、無効な処理が試みられた際にスローされる例外です。例えば、存在しない日付(例: 2月30日)を設定しようとした場合や、無効なタイムゾーンを指定した場合などにこの例外が発生します。

codeプロパティは、発生した例外を数値で識別するために利用されます。プログラムが例外を捕捉(catch)した際に、このcodeプロパティの値を参照することで、具体的にどのような問題が発生したのかを判別し、それに応じた適切なエラー処理やログ記録を行うことが可能になります。これにより、開発者はエラーの種類に基づいて、ユーザーに異なるメッセージを表示したり、特定の回復処理を実行したりするなど、柔軟なエラーハンドリングを実装できます。

このプロパティの値は、通常は0または特定の意味を持つ整数値が設定されます。例外オブジェクトのインスタンスからgetCode()メソッドを通じて取得できます。ただし、codeプロパティが常に特定の意味を持つ非ゼロ値を持つとは限らず、より詳細なエラー情報は通常、messageプロパティに文字列として含まれています。codeプロパティは、例外発生時の状況を数値的に把握するための補助的な役割を果たす重要な情報源の一つです。

構文(syntax)

1<?php
2
3try {
4    // DateInvalidOperationException がスローされる状況を模倣します。
5    // (実際には、日付関連の無効な操作でPHP内部からスローされます)
6    throw new DateInvalidOperationException("無効な日付操作が検出されました", 1001);
7} catch (DateInvalidOperationException $e) {
8    // 捕捉した例外オブジェクトから 'code' プロパティにアクセスして、
9    // 例外コードを取得します。
10    echo $e->code;
11}

引数(parameters)

戻り値(return)

int

このプロパティは、例外発生時のエラーコードを表す整数値を返します。

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