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




  • 相关阅读:
    奶牛碑文
    快速幂算法——人见人爱A^B
    杨辉三角
    iis404 没有设置mime的后缀
    jquery的click和js的funcition中的参数不一样
    asp:timer的权限与操作注意
    .net 文件上传,只上传修改的东西
    vscode的配置 和xdebug配制
    emoji编码后存储
    php 服务器请求其它网页的方法
  • 原文地址:https://www.cnblogs.com/yuefeng123/p/11122036.html
Copyright © 2020-2023  润新知