エラーと例外について
#2020.03 #LevelupPHP
エラー例外(\Error)・・・想定外であることが多い
Error:エラー系の規定クラス
ParseError:eval()を呼んだときなどPHPコードのパースに失敗した
TypeError:一番よく見るやつ
関数の戻り値が宣言と一致しない
関数の引数が宣言と一致しない
(strictモードで)PHPの組み込み関数の引数の数を間違えた
AssertionError:アサーションassert()のエラー
ユーザー定義エラー(\Exeption)
SPL(Standard PHP Library)例外
try~catch~finaly
code:try
class randomExeption extends \Eception
function writeFile($file) {
$fp = null;
try {
if (rand(0, 1) > 0.5) {
throw new \RandomExeption('ランダムに失敗しました');
} else {
throw new \Exeption('処理が失敗しました');
}
} catch (RandomExeption $e) {
echo $e->getMessage() . PHP_EOL;
} finaly {
if (is_resource($fp)) {
echo 'ファイルポインタを閉じます' .PHP_EOL;
fclose($fp);
}
}
}