zoukankan      html  css  js  c++  java
  • java全局异常捕捉处理

    @RestControllerAdvice(annotations = RestController.class)
    @Slf4j
    public class GlobalExceptionHandler {
    
        /**
         * 全局异常捕捉处理
         * @param ex
         * @return
         */
        @ExceptionHandler(value = Exception.class)
        @ResponseBody
        public DataResponse<Boolean> errorHandler(HttpServletRequest req, Exception ex) {
            Map map = new HashMap();
            map.put("code", 500);
            map.put("ex",ex);
            map.put("message", ex.getMessage());
            map.put("url", req.getRequestURL());
            log.error("发生异常:{}",JSON.toJSONString(map));
            return DataResponse.builderFailed(ex.getMessage());
        }
    
    }
    

      

    @RestControllerAdvice(annotations = RestController.class)
    @Slf4j
    public class GlobalExceptionInterceptor {
    
        /**
         * 捕获自定义异常,返回json信息
         */
        @ExceptionHandler({MamchargeException.class})
        @ResponseBody
        public ResultVO errorHandle(MamchargeException e) throws Exception {
            return new ResultVO(null,e.getErrorCode(),e.getMsg());
        }
    
        @ExceptionHandler({Exception.class})
        @ResponseBody
        public ResultVO errorHandle(Exception e) throws Exception {
            log.error("系统出错:",e);
            return ResultVO.isFail();
        }
    }

    RestControllerAdvice 注解表示拦截那一层

    ExceptionHandler 拦截什么异常类 后面的是自定义异常类

  • 相关阅读:
    3.2 线程复用:线程池
    3.1.7 线程阻塞工具类:LockSupport
    3.1.6 循环栅栏:CyclicBarrier
    3.1.4 读写锁
    3.1.5 倒计时器:CountDownLatch
    3.1.3 允许多个线程同时访问:信号量
    3.1.2 condition 条件
    3.1.1 重入锁 以及源码分析
    2.8.4 错误的加锁
    jsp中 scope="application" 表示
  • 原文地址:https://www.cnblogs.com/zhangzhiping35/p/14049714.html
Copyright © 2011-2022 走看看