其他的理论基础就不介绍了,我们直接上代码高效处理:
1.定义异常返回码
可以根据自己需求自定义code和message
/**
* @description: 统一返回码枚举
* @Author yl
* @Date 2024/3/13 16:15
*/
@Getter
@AllArgsConstructor
public enum ResultCodeEnum {
ERROR_RESULT_CODE("9999","操作失败"),
SUCCTESS_RESULT_CODE("0000","操作成功");
private String code;
private String message;
}
2.自定义异常类
/**
* @description: 自定义异常类
* @Author yl
* @Date 2024/3/13 9:43
*/
@Data
public class BusinessException extends RuntimeException{
public BusinessException(String message){
super(message);
}
public BusinessException(String msg, Object... objs) {
super(MessageFormatter.arrayFormat(msg, objs).getMessage());
}
}
3.捕获异常,对异常进行统一处理类:
我们系统抛出的所有异常,希望能有一个地方统一捕获异常后,以前后端约定的格式返回给前端: