Java-Spring AspectJ后处理

Java-Spring AspectJ后处理,java,spring,aop,aspectj,Java,Spring,Aop,Aspectj,我有一个签名如下的方法 我想在我的切入点捕获后记录异常,现在当我执行代码时,它会在控制台上抛出异常打印,然后转到我的切入点定义的方法,可能是因为它是@Afterhoring注释,但没有@BeforeThoring注释可用?请建议我能做什么 public void jingleBell(){ System.out.println("Jingle Bell Job..."); throw new RuntimeException("test error");

我有一个签名如下的方法

我想在我的切入点捕获后记录异常,现在当我执行代码时,它会在控制台上抛出异常打印,然后转到我的切入点定义的方法,可能是因为它是@Afterhoring注释,但没有@BeforeThoring注释可用?请建议我能做什么

public void jingleBell(){
        System.out.println("Jingle Bell Job...");
        throw new RuntimeException("test error");
    }
并用切入点遵循建议

@AfterThrowing(pointcut = "execution(* com.dc.lnwsk.adapter.Search.jingleBell())", throwing = "ex")
            public void handleException(Throwable ex){
                    //Log exception
            }

例外情况不同于
方法
,在调用点切割方法之前,可以更改字节码(编织)以调用新方法

异常是运行时现象,JVM事先不知道将抛出某些异常,因此在抛出之前no@beforebrowing


如果您事先知道您的异常情况,那么最好在点切割方法上使用
@Before
,并处理异常情况。

异常与
方法不同,在调用点切割方法之前,可以更改(编织)以调用新方法

异常是运行时现象,JVM事先不知道将抛出某些异常,因此在抛出之前no@beforebrowing

如果您事先知道您的异常情况,那么最好在切入点方法上使用
@Before
,并处理异常情况