これはプログラミング101の質問のように思えるかもしれませんが、私は答えを知っていると思っていましたが、今度は自分自身を再確認する必要があることに気づきました。以下のこのコードでは、最初のcatchブロックでスローされた例外は、以下の一般的なException catchブロックによってキャッチされますか?
try {
// Do something
} catch(IOException e) {
throw new ApplicationException("Problem connecting to server");
} catch(Exception e) {
// Will the ApplicationException be caught here?
}
私はいつも答えはノーだと思っていましたが、今これによって引き起こされる可能性のある奇妙な行動があります。答えはおそらくほとんどの言語で同じですが、私はJavaで作業しています。