【PHP8.x】__constructメソッドの使い方
__construct
メソッドは、ErrorException
クラスの新しいインスタンスを初期化し、PHPのエラーを例外として扱うための情報を受け取るメソッドです。この特別なメソッドは、クラスのオブジェクトがnew ErrorException(...)
のように作成される際に自動的に呼び出され、初期設定を行います。
ErrorException
クラスは、PHPの実行中に発生する警告や通知、致命的なエラーといった様々なエラーを、通常の例外オブジェクトと同様にtry-catch
構文で捕捉し、プログラムで処理できるようにするために使用されます。通常、PHPのエラーはスクリプトの実行を停止させないこともありますが、ErrorException
として扱うことで、開発者はエラー発生時の柔軟な対応やプログラムの堅牢性を高めることができます。
この__construct
メソッドは、例外として扱うエラーに関する以下の詳細な情報を受け取ります。エラーの具体的な内容を表す$message
(文字列)、エラーの種類を識別する$code
(整数)、エラーの深刻度を示す$severity
(E_WARNING
などのPHP定数で指定される整数)、エラーが発生したファイル名を示す$filename
(文字列)、およびそのファイル内の行番号を示す$lineno
(整数)です。さらに、$previous
という引数を使用することで、以前に発生した別の例外(Throwable
インターフェースを実装するオブジェクト)を関連付け、例外の連鎖を実現し、より詳細なデバッグ情報を提供することも可能です。
このメソッドを通じて、開発者はPHPのエラー情報を詳細に設定し、標準的な例外処理メカニズムを利用して、より洗練されたエラーハンドリングを実装することができます。
基本的な使い方
構文(syntax)
1<?php 2 3$errorException = new ErrorException( 4 message: "エラーメッセージ", 5 code: 0, 6 severity: E_ERROR, 7 filename: __FILE__, 8 lineno: __LINE__, 9 previous: null 10);
引数(parameters)
string $message = '', int $code = 0, int $severity = E_ERROR, string $filename = FILE, int $lineno = LINE, ?Throwable $previous = null
- string $message: エラーメッセージを指定する文字列
- int $code: エラーコードを指定する整数
- int $severity = E_ERROR: エラーの深刻度を指定する整数 (PHPの定数 E_ERROR など)
- string $filename = FILE: エラーが発生したファイル名を指定する文字列
- int $lineno = LINE: エラーが発生した行番号を指定する整数
- ?Throwable $previous = null: この例外をラップする以前の例外オブジェクト (null許容)
戻り値(return)
戻り値なし
戻り値はありません