【PHP8.x】getCodeメソッドの使い方

作成日: 更新日:

getCodeメソッドは、PHP 8で提供される内部クラスであるTypeErrorから、発生したエラーの種類を示すコードを取得するために実行するメソッドです。TypeErrorは、関数やメソッドに渡された引数の型が期待されるものと異なっていた場合など、プログラムの実行中に型の不一致が起きた際にスローされるエラーです。

このgetCodeメソッドを呼び出すと、エラーオブジェクトに設定されている整数値のエラーコードが返されます。このエラーコードは、特定の種類のTypeErrorを識別するための数値的な識別子として機能します。多くの場合、TypeErrorにおいては明示的なエラーコードが設定されていないため、デフォルト値として0が返されることが多いですが、PHPの内部処理によっては特定のコードが設定されている場合もあります。

システムエンジニアを目指す初心者の方にとって、エラーコードは、プログラムが予期せぬ動作をした際に、その原因を特定したり、エラーの種類に応じて異なる回復処理を行う際に非常に役立つ情報です。例えば、エラーログを記録する際に、getCodeメソッドで取得したエラーコードを含めることで、後からエラーの原因を分析しやすくなります。このメソッドは、Throwableインターフェースの一部として定義されており、PHPのほとんどの例外やエラーオブジェクトが共通して持っている基本的な機能の一つです。エラーハンドリングの仕組みを理解する上で重要な要素となります。

基本的な使い方

構文(syntax)

1<?php
2
3try {
4    function greet(string $name) {
5        echo "Hello, " . $name;
6    }
7    greet(123); // string型が期待されるがint型を渡すためTypeErrorが発生
8} catch (TypeError $e) {
9    echo $e->getCode(); // TypeErrorオブジェクトから例外コードを取得
10}

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

このメソッドは、発生した TypeError に関連付けられたエラーコードを整数型で返します。

【PHP8.x】getCodeメソッドの使い方 | いっしー@Webエンジニア