Java在catch block中抛出的异常会再次被捕获吗?
全栈工程师 阅读 897 exception JAVA
2018年01月15日

这看起来像是一个编程101的问题,我原以为我知道答案,但现在发现自己需要仔细检查。在下面这段代码中,第一个catch块中抛出的异常是否会被下面的一般异常捕获块捕获?

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


我一直认为答案是否定的,但现在我有一些奇怪的行为可能是由这个引起的。对于大多数语言来说,答案可能是相同的,但我是在Java中遇到这个问题。

用户评论