2023年11月29日发(作者:)
springboot全局异常处理,⼲掉trycatch。
写在前⾯
SpringBoot项⽬进⾏全局异常的处理是⾮常有必要的,不仅处理异常⽅便,⽽且可以优化代码,⼲掉try catch。本篇⽂章基于spring
boot。
处理500异常
⾃定义基础接⼝类
public interface BaseErrorInfoInterface {
/** 错误码*/
int getResultCode();
/** 错误描述*/
String getResultMsg();
}
⾃定义枚举类
public enum CommonEnum implements BaseErrorInfoInterface {
// 数据操作错误定义
SUCCESS(200, "成功!"),
BODY_NOT_MATCH(400,"请求的数据格式不符!"),
SIGNATURE_NOT_MATCH(401,"请求的数字签名不匹配!"),
NOT_FOUND(404, "未找到该资源!"),
INTERNAL_SERVER_ERROR(500, "服务器内部错误!"),
SERVER_BUSY(503,"服务器正忙,请稍后再试!")
;
/** 错误码 */
private int resultCode;
/** 错误描述 */
private String errorMessage;
ode = errorCode;
essage = errorMessage;
ionMessage = exceptionMessage;
/**
* 成功
* @param data
@ControllerAdvice
public class GlobalExceptionHandler {
/**
* 处理⾃定义的业务异常
* @param req
* @param e
@RestController
@RequestMapping
public class LoginController {
@PostMapping("/hello")
public boolean insert(Integer i) {
n("开始...");
//如果姓名为空就⼿动抛出⼀个⾃定义的异常!
if(i==null){
处理404
这⾥使⽤最有效的办法。
实现ErrorController
@RestController
public class ErrController implements ErrorController {
@Override
public String getErrorPath() {
// TODO Auto-generated method stub
发布评论