这看起来像是一个编程 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 中工作。
原文由 roryf 发布,翻译遵循 CC BY-SA 4.0 许可协议
不,因为新的
throw
不在try
块中。