PHP 例外処理
例外処理のこと
よく目にするエラー
- E_PARSE:コードが文法的に誤っている時に発生
処理は行われない - E_ERROR:処理を継続することができなくなった時に発生
発生したところで処理停止 - E_WARNING:想定外の問題が起こったときに発生
処理を継続することが可能 - E_NOTICE:想定内の問題が起こったときに発生
処理を継続することは可能
例外処理(Exception)の機能
- try:あらかじめコードを指定し、プログラム実行時に処理の問題を検出
- catch:問題検出後、どのように対応するか記述しておく
- throws:対応を記述していない場合、メソッドの呼び出しもとに対応を任せる
例外が発生する例
- ゼロで割り算
- 数値変換で、数字で内文字を指定
- 配列の範囲外にアクセス
- ファイルが存在しない
- オブジェクトがnull
- 引数が不正 等
簡単な例外処理
記述例
<?php
echo "start\n";
try {
$date = new DateTime("199x-01-01");
echo $date->format('Y/m/d') . "\n";
} catch (Exception $e) {// 例外が発生した場合
echo $e->getMessage(). "\n"; // エラー情報を表示
} finally { //例外があっても無くても必ず記述したい場合
echo "end\n";
}
?>