1. ホーム

[解決済み】catchブロックの中で投げられた例外は、再度キャッチされますか?

2022-04-07 20:36:16

質問

これはプログラミング101の質問のように思えるかもしれませんし、私は答えを知っていると思っていましたが、今、再確認する必要があると感じています。以下のコードでは、最初のキャッチブロックで投げられた例外は、その下の一般的な例外のキャッチブロックでキャッチされるのでしょうか?

try {
  // Do something
} catch(IOException e) {
  throw new ApplicationException("Problem connecting to server");
} catch(Exception e) {
  // Will the ApplicationException be caught here?
}

答えはノーだろうとずっと思っていたのですが、今、これが原因と思われる奇妙な動作があります。答えはおそらくほとんどの言語で同じだと思いますが、私はJavaで作業しています。

解決方法は?

いいえ、新しい throwtry ブロックに直接アクセスできます。