java AOP异常捕获导致全局异常捕获不到

2020-06-06  本文已影响0人  简单coder

2020年6月4日13:32:42
如题, 笔者目前使用场景如下:
项目中使用自定义注解@loginterface处理登陆判断,在切面中处理,如图

//Controller层切点
    @Pointcut("execution (* com.qinyi.renhai.controller..*.*(..))")
    public  void controllerAspect() {
    }


    /**
     * 前置通知 用于拦截Controller层记录用户的操作
     *
     * @param joinPoint 切点
     */

    //配置controller环绕通知,使用在方法aspect()上注册的切入点
    @Around("controllerAspect()")
    public Object around(JoinPoint joinPoint) throws Throwable {
 //  我省略了大部分代码,这里是主要的代码
        //try {
            Object reObj =   ((ProceedingJoinPoint) joinPoint).proceed();
             ((ProceedingJoinPoint) joinPoint).proceed();
            long end = System.currentTimeMillis();
            if(logger.isInfoEnabled()){
                logger.info("around " + joinPoint + "\tUse time : " + (end - start) + " ms!");
            }
            System.out.println("==========结束执行controller环绕通知===============");
            return reObj;
//        } catch (Throwable e) {
//            long end = System.currentTimeMillis();
//            if(logger.isInfoEnabled()){
//                logger.info("around " + joinPoint + "\tUse time : " + (end - start) + " ms with exception : " + e.getMessage());
//            }
//        }
    }

这里要注意下:

上一篇下一篇

猜你喜欢

热点阅读