springboot全局异常处理

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

@ControllerAdvice

@ResponseBody

public class GlobalExceptionHandler {

  /**

  * 处理MyException异常

*/

@ExceptionHandler(MyException.class)

public ReturnJson myExceptionHandler(MyException ex) {

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

}

/**

* 处理RunTimeException异常

*/

@ExceptionHandler(RuntimeException.class)

public ReturnJson runtimeExceptionHandler(RuntimeException ex) {

return new ReturnJson(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;

}

public MyException(ResultStatusEnum resultStatusEnum) {
Enum) {非农数据https://www.gendan5.com/nonfa...
this.code = resultStatusEnum.getCode();

this.message = resultStatusEnum.getMessage();

}

}

3.用到的其他类

@Data

public class ReturnJson {

/*

* 状态码

*/

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;

}

你可能感兴趣的:(前端)