PHPの例外処理
プログラムの異常終了を防ぐために、例外として処理する。
PHPではExceptionクラスを使う。
https://www.php.net/manual/ja/language.exceptions.php
Exceptionクラスの使い方
例外をスローする。(例外が発生することを例外を投げるという)
<?php
throw new Exception();
?>
例外が発生する可能性のあるコードをtryで囲み、例外を受け取った後のコードをcatchに記述する。
<?php
try {
// 例外が発生する可能性のあるコード
} catch (Exception $e) {
// 例外を受け取った後のコード
?>
変数$flgの値がtrueの時はOKと返し、falseのときに例外として返す。
<?php
function checkFlg($flg)
{
try {
if ($flg == false) {
throw new Exception('エラーはキャッチ');
}
$message = "エラーなし";
} catch (Exception $e) {
$message = $e->getMessage();
}
echo $message;
}
checkFlg(true); // エラーなし
checkFlg(false); // エラーはキャッチ
?>
getMessage()にて例外メッセージを持たせることができる。例外メッセージはどのようなエラーが発生したかのか示すために使われる。
Exceptionクラスの拡張
Exceptionクラスを拡張し、独自の例外クラスを使用することができる。例外クラスを拡張するとは、Exeptionクラスを継承する。
<?php
// Exception拡張する
class ExpansionException extends Exception {
}
try {
throw new ExpansionException();
} catch (ExpansionException $e) {
echo "拡張したExceptionクラス";
}
?>