ていうかめも。自分用。
try {
// timestampが偶数だった場合例外を投げてみる
$isEven = false;
if(time()%2 == 0) $isEven = true;
if($isEven) throw new Exception('timestamp is even now.');
echo '--------------------'."\n";
echo 'start try block'."\n";
echo '--------------------'."\n\n";
echo 'timestamp is odd now.';
echo "\n\n".'--------------------'."\n";
echo 'end of try block'."\n";
echo '--------------------'."\n";
} catch(Exception $e) {
echo '--------------------'."\n";
echo 'start catch block'."\n";
echo '--------------------'."\n\n";
echo $e->getMessage();
echo "\n\n".'--------------------'."\n";
echo 'end of catch block'."\n";
echo '--------------------'."\n";
}
■例外が投げられなかった場合のソース
-------------------- start try block -------------------- timestamp is odd now. -------------------- end of try block --------------------
■例外が投げられた場合のソース
-------------------- start catch block -------------------- timestamp is even now. -------------------- end of catch block --------------------
例外が投げられるとそれ以降のtryブロックの実行は中断されcatch句により補足される。同時にExceptionオブジェクト受け取ることが出来、その例外クラスを用いた処理を記述する事が出来る。というわけ。