gpt4 book ai didi

java - 在 finally block 中,我可以判断是否抛出了异常

转载 作者:IT老高 更新时间:2023-10-28 20:45:13 25 4
gpt4 key购买 nike

Possible Duplicate:
Is it possible to detect if an exception occurred before I entered a finally block?

我有一个工作流方法,它会在发生错误时抛出异常。我想将报告指标添加到我的工作流程中。在下面的 finally block 中,有什么方法可以判断 try/catch block 中的方法之一是否引发了异常?

我可以添加自己的 catch/throw 代码,但更喜欢更简洁的解决方案,因为这是我在整个项目中重复使用的模式。

@Override
public void workflowExecutor() throws Exception {
try {
reportStartWorkflow();
doThis();
doThat();
workHarder();
} finally {
/**
* Am I here because my workflow finished normally, or because a workflow method
* threw an exception?
*/
reportEndWorkflow();
}
}

最佳答案

Java 没有提供自动方式。您可以使用 boolean 标志:

boolean success = false;
try {
reportStartWorkflow();
doThis();
doThat();
workHarder();
success = true;
} finally {
if (!success) System.out.println("No success");
}

关于java - 在 finally block 中,我可以判断是否抛出了异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10736238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com