ITPub博客

首页 > IT职业 > IT生活 > springboot全局异常处理

springboot全局异常处理

IT生活 作者:专注的阿熊 时间:2020-05-11 17:09:42 0 删除 编辑

1.新建GlobalExceptionHandler 全局异常处理类

@ControllerAdvice

@ResponseBody

public class GlobalExceptionHandler {

    /**

     * 处理MyException异常

     */

    @ExceptionHandler(MyException.class)

    public ReturnJson<Object> myExceptionHandler(MyException ex) {

        return new ReturnJson<Object>(ResultStatusEnum.FAILURE.getCode(), ResultStatusEnum.FAILURE.getMessage(), null);

    }

    

    /**

     * 处理RunTimeException异常

     */

    @ExceptionHandler(RuntimeException.class)

    public ReturnJson<Object> runtimeExceptionHandler(RuntimeException ex) {

        return new ReturnJson<Object>(ResultStatusEnum.FAILURE.getCode(), ResultStatusEnum.FAILURE.getMessage(), null);

    }

}

 

 

2.自定义异常类MyException继承RuntimeException

 

@Getter

public class MyException extends RuntimeException{

    /*

     * 状态码

     */

    private int code;

    /*

     * 消息提示

     */

    private String message;

    

    public MyException(int code, String message) {

        this.code = code;

        this.message = message;

tion ex) {MT5https://www.gendan5.com/mt5.html

  public MyException(ResultStatusEnum resultStatusEnum) {

        this.code = resultStatusEnum.getCode();

        this.message = resultStatusEnum.getMessage();

    }

 

}

 

 

3.用到的其他类

 

@Data

public class ReturnJson<T> {

    /*

     * 状态码

     */

    private int code;

    /*

     * 消息提示

     */

    private String message;

    /*

     * 返回内容

     */

    private T info;

    

    public ReturnJson(int code,String message ,T info) {

        this.code=code;

        this.message=message;

        this.info=info;

    }

}

@NoArgsConstructor

@AllArgsConstructor

public enum ResultStatusEnum {

    /**

     * 请求成功

     */

    SUCCESS(200, "请求成功!"),

    

    /*

     * 请求失败

     */

    FAILURE(400, "请求失败!");

    

    @Getter

    @Setter

    private int code;

    

    @Getter

    @Setter

    private String message;

}


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946337/viewspace-2691377/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: replace方法
请登录后发表评论 登录
全部评论

注册时间:2019-08-23

  • 博文量
    410
  • 访问量
    276751