• 统一异常处理


    统一异常处理

    我们想让异常结果也显示为统一的返回结果对象,并且统一处理系统的异常信息,那么需要统一异常处理

    创建统一异常处理器

    @ControllerAdvice
    @Slf4j
    public class GlobalExceptionHandler {
        //添加一个注解 ExceptionHandler
        @ExceptionHandler({Exception.class})
        @ResponseBody
        public R error(Exception e){
            e.printStackTrace();
            return R.error().message("执行了全局异常");
        }
        //自定义异常
        @ExceptionHandler({OnlineException.class})
        @ResponseBody
        public R error(OnlineException e){
            log.error(e.getMessage());
            e.printStackTrace();
            return R.error().code(e.getCode()).message(e.getMsg());
        }
    }
    

    测试

    image-20201203135441703

    自定义异常

    创建自定义异常类

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class OnlineException extends RuntimeException {
        @ApiModelProperty(value = "状态码")
        private Integer code;
        private String msg;
        
    }
    

    业务中需要的位置抛出OnlineException

    try {
        int a = 10/0;
    }catch(Exception e) {
        throw new OnlineException(20001,"出现自定义异常");
    }
    

    添加异常处理方法

    OnlineExceptionHandler.java中添加

    @ExceptionHandler(OnlineException.class)
    @ResponseBody
    public R error(OnlineException e){
        e.printStackTrace();
        return R.error().message(e.getMsg()).code(e.getCode());
    }
    
  • 相关阅读:
    idea如何使用git关联远程仓库
    项目首次上传至git仓库步骤
    Eclipse 的 Java Web 项目环境搭建
    Postman
    Postman接口测试之POST、GET请求方法
    接口测试3A原则
    使用unittest和ddt进行数据驱动
    每天进步一点点006
    每天进步一点点005
    Selenium2+python自动化1-环境搭建(悠悠课程之路)
  • 原文地址:https://www.cnblogs.com/Courage129/p/14079176.html
Copyright © 2020-2023  润新知