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

    package video.exception;

    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.ResponseBody;
    import video.dto.JsonData;


    -----------------------------异常处理类--------------------------------------------
    /**
    * 全局自定义异常处理类
    */
    @ControllerAdvice//所有异常都会被捕获
    public class GlobalExceptionHandler {

    /**
    * 处理异常
    * @return
    */
    @ExceptionHandler(value = Exception.class)
    @ResponseBody
    public JsonData handlerException(Exception e) {
    if (e instanceof BussinessException) {
    return JsonData.error(e.getMessage(),((BussinessException) e).getCode());
    } else if (e instanceof GlobalException ) {
    return JsonData.error(e.getMessage(),((GlobalException) e).getCode());
    } else {
    return JsonData.error("未知异常");
    }
    }

    }


    -----------------------------自定义异常类------------------------------------------
    /**
    * 全局自定义异常类
    */
    public class GlobalException extends RuntimeException {

    /**状态码*/
    private Integer code;
    /**消息提示*/
    private String msg;

    public GlobalException(Integer code, String msg) {
    super(msg);
    this.code = code;
    this.msg = msg;
    }

    public Integer getCode() {
    return code;
    }

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

    public String getMsg() {
    return msg;
    }

    public void setMsg(String msg) {
    this.msg = msg;
    }
    }


    /**
    * 自定义业务异常类
    */
    public class BussinessException extends RuntimeException {

    private String msg;
    private Integer code;

    public BussinessException(Integer code, String msg) {
    super(msg);
    this.msg = msg;
    this.code = code;
    }

    public String getMsg() {
    return msg;
    }

    public void setMsg(String msg) {
    this.msg = msg;
    }

    public Integer getCode() {
    return code;
    }

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




  • 相关阅读:
    【面试题】M
    【转】C/S,B/S区别
    【转】指针和引用的区别
    内联函数
    实习-随记
    【面试】http协议知识
    wenbenfenlei
    【面试】链表反转
    测试面试题2
    测试面试题
  • 原文地址:https://www.cnblogs.com/yuefeng123/p/11122036.html
Copyright © 2011-2022 走看看