【PHP】例外(Exception) - プログラムのエラー
PHPには例外と呼ぶ仕組みがあります。
例外を使うことで、エラーを意図して発生することができます。
ここでは、例外について解説します。
検証環境
例外
プログラムのエラーには大きく分けて、プログラムで対応できない致命的なエラーとプログラムで対応できるエラーがあります。
一般的に後者の“プログラムで対応可能なエラー”を例外と呼びます。
PHPでは例外を意図的に発生させることが可能です。
また、致命的なエラーの代表例は『ハードウェアの故障』や『メモリ不足』などです。
Exception
PHPは例外を表すException
クラスを標準で用意しています。
このクラスを使って例外オブジェクトを生成することが可能です。
<?php
___ih_hl_start
$exception = new Exception('Exception Sample');
___ih_hl_end
echo $exception->getMessage();
?>
$ php sample.php
Exception Sample
3行目で例外オブジェクトを生成しています。
コンストラクタの第一引数には例外メッセージを与えられ、getMessage
メソッドによって取得できます。
例外のスロー
例外のスローは“例外をプログラムで発生させること”です。
例外オブジェクトは生成のみでは、単なるオブジェクトとして扱われます。
そのため、実際にプログラムで例外を発生させるにはスローを行います。
基本構文
throw 例外オブジェクト
throw
に続いて、例外オブジェクトを記述します。
サンプル
<?php
$exception = new Exception('Exception Sample');
___ih_hl_start
throw $exception;
___ih_hl_end
echo $exception->getMessage();
?>
$ php sample.php
PHP Fatal error: Uncaught Exception: Exception Sample in sample.php:3
Stack trace:
#0 {main}
thrown in sample.php on line 3
5行目が例外のスローです。
例外が発生するとプログラムの処理は中断されます。
そのため、7行目のコードは実行されません。