AOP:使用After advice

时间:2017-07-17 16:41:43

标签: aop aspectj

我知道我可以使用@AfterReturning@AfterThrowing建议来检查方法是返回结果还是异常,但如果我想使用@After建议怎么办? ?

有没有办法检查方法是否使用@After建议返回了某些内容或异常?

1 个答案:

答案 0 :(得分:0)

@After建议适用于正常情况或案例,但没有分离。

@AfterReturning - 如果方法完成,没有例外。

@AfterThrowing - 如果方法以异常完成。

在您需要了解方法完成时,您可以使用@Around建议。

 @Around("pointcut")
 public Object execute(ProceedingJoinPoint pjp) throws Throwable {          
    try {                  
         Object result = pjp.proceed(); 
         //here you know that method is completed without exception  
         return result;
    }
    catch(Throwable ... Exception ..... ex) {
        //here you know that method throws exception
        log() , wrap() , handle()..... whatever....
    }
 }