• 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;
    }
    }




  • 相关阅读:
    Delphi关于记录文件的操作转
    数字电视分辨率
    delphi FileSetAttr 设置文件的属性转
    vc delphi 回调函数具体说明和实例与分析 转
    TFileStream(文件流) 读写转
    HDMI接口
    UDP和TCP协议包大小的计算转
    字符编解码的故事(ASCII,ANSI,Unicode,Utf8) 转
    [bzoj3894]文理分科
    [bzoj5338]xor
  • 原文地址:https://www.cnblogs.com/yuefeng123/p/11122036.html
Copyright © 2020-2023  润新知