异常处理流程
Posted
技术标签:
【中文标题】异常处理流程【英文标题】:Exception handling flow 【发布时间】:2014-10-01 19:29:22 【问题描述】:你能解释一下当它有多个块时异常处理的顺序吗? 例如,我有一个匿名块,它有两个过程,Proc_A 和 Proc_B。调用 Proc_A 并在 Proc_A 中处理异常。接下来会发生什么?它会回到外部块异常还是退出那里?
谢谢
【问题讨论】:
一步一步去了解。一旦将句柄提供给异常块,调用者就不会意识到错误,除非将句柄返回给调用者。你可以开始阅读lalitkumarb.wordpress.com/2014/05/02/… 【参考方案1】:问题不清楚,但这是我的尝试:
假设你有以下代码:
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。所以这一切都取决于你想要什么。
【讨论】:
以上是关于异常处理流程的主要内容,如果未能解决你的问题,请参考以下文章