【PHP8.x】codeプロパティの使い方
codeプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『codeプロパティは、例外に関連付けられた整数コードを保持するプロパティです』
このプロパティはLengthExceptionクラスが直接定義するものではなく、その基底クラスであるExceptionクラスから継承されています。そのため、PHPの多くの標準的な例外クラスで共通して利用することが可能です。このプロパティの主な目的は、例外メッセージの文字列だけでは区別しにくいエラーの具体的な原因を、プログラムが識別可能な数値コードとして提供することにあります。LengthExceptionのインスタンスを作成する際、コンストラクタの第2引数に整数を渡すことで、このcodeプロパティに値を設定できます。もし引数を省略した場合は、デフォルト値として0が設定されます。例えば、入力された文字列が短すぎるエラーにはコード10、長すぎるエラーにはコード20を設定するなど、独自のルールを定義できます。catchブロックで例外を捕捉した後、getCode()メソッドを使ってこの値を取得し、その数値に応じて処理を分岐させることで、より詳細で柔軟なエラーハンドリングを実装することが可能になります。
構文(syntax)
1<?php 2 3function validate_length(string $value) 4{ 5 if (strlen($value) < 10) { 6 // 第2引数でエラーコードを指定して、例外をスローする 7 throw new LengthException("文字列が短すぎます。", 400); 8 } 9} 10 11try { 12 validate_length("test"); 13} catch (LengthException $e) { 14 // getCode()メソッドで、スローされた例外のコードを取得する 15 $errorCode = $e->getCode(); 16 echo "エラーコード: " . $errorCode; 17} 18 19?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
LengthException クラスの code プロパティは、例外が発生した際の数値コードを整数型 (int) で返します。