JAVA aop@Afterhrowing无法';捕捉不到异常

JAVA aop@Afterhrowing无法';捕捉不到异常,java,exception,aop,Java,Exception,Aop,我想在该方法出现异常时执行一些操作。 所以我做了aop函数,比如返回后,返回后 我故意更改了引发异常的方法。 但请求是在返回后到达的,即使发生异常也不会在返回后到达 我怎样才能使这个请求达到事后补救的方法 @EventListener @GetHost public void getHost(ContextRefreshedEvent event) throws Exception { try { prHostName = Ine

我想在该方法出现异常时执行一些操作。 所以我做了aop函数,比如返回后,返回后

我故意更改了引发异常的方法。 但请求是在返回后到达的,即使发生异常也不会在返回后到达

我怎样才能使这个请求达到事后补救的方法

    @EventListener
    @GetHost
    public void getHost(ContextRefreshedEvent event) throws Exception {

        try {
            prHostName = InetAddress.getLocalHost().getHostName();
            prIpAddr = InetAddress.getLocalHost().getHostAddress();

            //making exception on purpose
            String[] tmp = new String[0];
            prIpAddr = tmp[1];


        } catch (Exception exception) {
            prHostName = "unknown";
            prIpAddr = "unknown";
            System.out.println("unknown");
            exception.printStackTrace();

        }
    }
有aop方法

    @Pointcut("@annotation(com.etc.web.annotation.GetHost)")
    public void componentMethod() {}

    @Before("componentMethod()")
    public void beforeComponent(JoinPoint point) {
        System.out.println("beforeComponent");

    }

    @Around("componentMethod()")
    public Object aroundComponent(ProceedingJoinPoint point) throws Throwable {

        System.out.println("aroundComponent");
        Object retVal = point.proceed();

        return retVal;
    }
    @AfterReturning(pointcut = "componentMethod()", returning = "result")
    public void afterComponent(JoinPoint point, Object result) {
        System.out.println("afterReturnComponent");

    }

    @AfterThrowing(pointcut = "componentMethod()", throwing = "exception")
    public void afterThrowingComponent(JoinPoint point, Throwable exception) throws Exception {
        System.out.println("afterThrowingComponent");

       
    }

请帮帮我。
谢谢

该方法不会带异常退出,因为捕获了异常并且该方法正常退出。因此,当然,
@posterhrowing
不会被触发。这应该不会让你感到惊讶。

谢谢你,克里加克斯!那么,如果我删除catch表达式,就会触发@afterhrowing?是的,Julia,如果没有其他bug或配置问题,那就是应该发生的事情。