这看起来像是一个编程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中遇到这个问题。