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

作成日: 更新日:

__constructメソッドは、Exceptionオブジェクトを初期化する(生成する)メソッドです。このメソッドは、プログラムの実行中に予期せぬ問題(例外)が発生した際に、その問題の詳細を表現するExceptionオブジェクトを新しく作成するために利用されます。

例外をスローする、つまりthrow new Exception(...)という形で新しい例外を発生させるときに、この__constructメソッドが自動的に呼び出され、Exceptionオブジェクトが適切に設定されます。通常、開発者がこのメソッドを直接呼び出す必要はありません。

このメソッドには、以下の三つの引数を渡すことができます。 一つ目の$messageは、何が問題なのかを具体的に説明する文字列です。このメッセージは、エラーが発生した状況を理解し、デバッグを行う上で非常に重要です。省略された場合は空文字列が設定されます。 二つ目の$codeは、エラーの種類を識別するための整数値です。開発者が独自にエラーコードを定義し、プログラム内で特定の種別のエラーを区別するために利用することができます。省略された場合は0が設定されます。 三つ目の$previousは、現在の例外が発生する前に、別の例外が既に発生していた場合に、その先行する例外オブジェクトを指定するものです。これにより、複数の例外が連鎖して発生した状況を追跡し、「なぜこのエラーが起きたのか」という根本原因をたどる「例外の連鎖」という仕組みを実現できます。省略された場合はnullが設定されます。

これらの引数を利用してExceptionオブジェクトを生成することで、発生した問題に関する豊富な情報を保持し、エラー処理をより柔軟かつ正確に行うことが可能になります。

基本的な使い方

構文(syntax)

1public function __construct(string $message = "", int $code = 0, ?Throwable $previous = null)

引数(parameters)

string $message = "", int $code = 0, ?Throwable $previous = null

  • string $message: 例外のメッセージを指定する文字列
  • int $code: 例外のエラーコードを指定する整数
  • ?Throwable $previous: この例外を発生させた先行する例外を指定するThrowableオブジェクト、またはnull

戻り値(return)

戻り値なし

戻り値はありません

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