首页 > 其他 > 详细

全局拦截自定义的异常

时间:2019-10-29 02:06:12      阅读:91      评论:0      收藏:0      [点我收藏+]
  • 添加一个自定义的异常类MyException继承Exception
public class BusinessException extends Exception {
    private int code;
    private String massage;

    public BusinessException(int code,String message) {
        this.massage = message;
        this.code = code;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMassage() {
        return massage;
    }

    public void setMassage(String massage) {
        this.massage = massage;
    }
}
  • 添加一个全局的异常处理器处理异常
@ControllerAdvice
public class GlobalExceptionHandler {

    private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);

    /**
     * http 417 期望失败
     * code 1003 认证数量须为在模板的限定范围
     */
    @ExceptionHandler(BusinessException.class)
    public ResponseEntity<?> BusinessExceptionHandler(BusinessException e){
        CommonUtils.errorLog(e,logger);//打印异常信息
        return ResponseEntity.status(HttpStatus.EXPECTATION_FAILED).body(new Error(new Date(), e.getCode(), e.getMessage()));
    }
}
  • 在需要抛异常的地方throw一下
    @ResponseBody
    @GetMapping("product/page")
    public PageModel<Product> productPage(PageModel pageModel) throws BusinessException {
        System.out.println(123);
        if(true){
            throw new BusinessException(909,"myException");
        }
        return productService.findAll(pageModel);
    }

 

全局拦截自定义的异常

原文:https://www.cnblogs.com/erfsfj-dbc/p/11756477.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!