-1
当您有多个块时可以向我解释异常处理的顺序。 例如,我有一个匿名块,它有两个过程Proc_A和Proc_B。 Proc_A被调用,异常在Proc_A中处理。接下来会发生什么?它会回到外部块异常还是会退出?异常处理流程
感谢
当您有多个块时可以向我解释异常处理的顺序。 例如,我有一个匿名块,它有两个过程Proc_A和Proc_B。 Proc_A被调用,异常在Proc_A中处理。接下来会发生什么?它会回到外部块异常还是会退出?异常处理流程
感谢
的问题是不明确的,但这里是我在它去:
假设你有下面的代码:
public void procA() throws Exception {
procB();
}
public void procB() throws Exception {
try {
// code that throws an exception
} catch (Exception exc) {
// code to handle the exception
}
}
现在,如果catch块处理该异常它可能有两种方法。 1.您只需处理异常,并停止传播异常。正常返回到procA。 2.你决定抛出异常进一步或抛出一个新的异常,像这样:
throw exc
throw new Exception();
在这种情况下,异常将被传播到PROCA。所以这一切都取决于你想要的。
一步一步来了解。一旦将句柄赋予了异常块,调用者就不会意识到错误,除非把句柄返回给调用者。你可以**开始**阅读http://lalitkumarb.wordpress.com/2014/05/02/when-others-then-null-a-bug/ – 2014-10-01 19:39:35