我有一个工作流方法可以做事,如果发生错误则抛出异常。我想将报告指标添加到我的工作流程中。在下面的 finally 块中,有什么方法可以判断 try/catch 块中的方法之一是否引发了异常?
我可以添加自己的 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();
}
}