読者です 読者をやめる 読者になる 読者になる

print 'Hello World!';

hogehoge備忘録

例外をキャッチする try~catch

スローされた例外はどこでキャッチされるのか?
以下のサンプルコードをもとに解説

#サンプルコード

class A

try{
    //クラスBのメソッドbを実行
  //a①
} catch (ErrorException1 $e) {
    //a②
} catch (ErrorException2 $e) {
    //a③
}
    //a④

class B

function b() {

//b①

try{
    //b②
} catch (ErrorException1 $e) {
    //b③
} catch (ErrorException2 $e) {
    //b④
}

//b⑤

}

b①でErrorException1、もしくはErrorException2が発生した場合
a①、もしくはa②が実行され、a③の処理に続く。

b②でErrorException1、もしくはErrorException2が発生した場合
b③、もしくはb④が実行され、b⑤の処理が行われ、a④へと続く。