カテゴリー:
制御構造
閲覧数:808 配信日:2010-05-22 10:16
例外処理の構文
1.tryブロック内で何か例外が発生した場合(=例外クラスをthrowした場合)
・その時点でtryブロック内の処理が中断し、catchブロック内へ処理が進む
・catchブロック内の処理が終了後、以降の処理へ進む
2.tryブロック内で何も起こらなかった場合
・tryブロック内の処理が全て終了後、catchブロックは無視され、以降の処理へ進む
・投げられた例外を「キャッチ(つかまえる)」しているが、出力処理を記載していないため、何も表示されない例
try{throw new Exception('エラーが発生しました');
}catch (Exception $e) {
}
役割分担
try
・エラーが起こりそうな個所を「トライ(試す)」
throw
・スロー(投げる)
・トライ中にエラーが発生したら、例外を「スロウ(投げる)」
・明示的に例外を発生させること
・例外を投げるには、throwキーワードを使用し、Exceptionクラス(のインスタンス)またはExceptionクラス子クラスのオブジェクト(インスタンス)を投げる
・「Exceptionクラス子クラス」のインスタンスを、「例外」として投げる場合は、「catch」の引数に、投げられる「例外オブジェクト」のクラス名を指定する必要がある
catch
・投げられた例外を「キャッチ(つかまえる)」して、エラー時用処理を実行