我有以下内容:
@AfterReturning("executionOfTrustedAnnotatedMethod()")
public void afterReturningFromTrustedMethodExecution() { ... }
@AfterThrowing(pointcut = "executionOfTrustedAnnotatedMethod()")
public void afterThrowingByExecutionOfTrustedAnnotatedMethod() { ... }
我观察到这种行为对我来说没有意义:
我要完成的工作是在方法执行结束时运行一些代码,而不管是否引发异常。但是现在,如果抛出异常,此代码将运行两次(如果我同时具有afterReturning和afterThrowing),或者根本不运行(如果我仅具有afterReturning)。
有什么建议?
谢谢,
皮特
最佳答案
如果要在方法之后执行代码,而不管是否引发异常,则需要改用@After
。