throwコマンド

コマンド throw は、PHPで明示的に例外をスローするために使用されます。 このコマンドは1つのパラメータ、つまり基本クラスExceptionから継承されたクラスのインスタンスである例外オブジェクトを受け取ります。 この関数が呼び出されると、現在のコードの実行は直ちに停止し、PHPは例外を処理するための対応するcatchブロックを見つけようと試みます。

構文

phpthrow new ExceptionClass(message, code, previous);

例

例外を生成する簡単な例:

php<?php
  $age = -5;
  if ($age < 0) {
    throw new Exception('年齢は負の値にできません');
  }
?>

コードの実行結果:

phpFatal error: Uncaught Exception: 年齢は負の値にできません

例

例外処理を含む例:

php<?php
  try {
    $res = 10 / 0;
    if (is_infinite($res)) {
      throw new Exception('ゼロによる除算');
    }
  } catch (Exception $e) {
    echo 'エラー: ' . $e->getMessage();
  }
?>

コードの実行結果:

php'エラー: ゼロによる除算'

例

カスタム例外の使用:

php<?php
  class MyCustomException extends Exception {}
  
  try {
    throw new MyCustomException('カスタムエラーメッセージ');
  } catch (MyCustomException $e) {
    echo 'カスタムエラーをキャッチしました: ' . $e->getMessage();
  }
?>

コードの実行結果:

php'カスタムエラーをキャッチしました: カスタムエラーメッセージ'

関連項目

  • 例外を処理するためのコードブロックを定義するtry構文
  • 例外をキャッチして処理するcatch構文
  • すべての例外の基本クラスであるExceptionクラス