throwコマンド
コマンド throw は、PHPで明示的に例外をスローするために使用されます。
このコマンドは1つのパラメータ、つまり基本クラスExceptionから継承されたクラスのインスタンスである例外オブジェクトを受け取ります。
この関数が呼び出されると、現在のコードの実行は直ちに停止し、PHPは例外を処理するための対応するcatchブロックを見つけようと試みます。
構文
throw new ExceptionClass(message, code, previous);
例
例外を生成する簡単な例:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('年齢は負の値にできません');
}
?>
コードの実行結果:
Fatal error: Uncaught Exception: 年齢は負の値にできません
例
例外処理を含む例:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('ゼロによる除算');
}
} catch (Exception $e) {
echo 'エラー: ' . $e->getMessage();
}
?>
コードの実行結果:
'エラー: ゼロによる除算'
例
カスタム例外の使用:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('カスタムエラーメッセージ');
} catch (MyCustomException $e) {
echo 'カスタムエラーをキャッチしました: ' . $e->getMessage();
}
?>
コードの実行結果:
'カスタムエラーをキャッチしました: カスタムエラーメッセージ'