public classBusinessExceptionextendsRuntimeException{
private int code;
privateString description;
public BusinessException(String message, int code, String description) {
super(message);
this.code = code;
this.description=description;
}
public BusinessException(R r, String description) {
super(r.getMsg());
this.code = r.getCode();
this.description=description;
}
}
2.3 编写全局异常处理类
@ControllerAdvice(annotations = {RestController.class, Controller.class})
@ResponseBody//有方法需要返回json数据@Slf4j
public class GlobalExceptionHandler {
//指定捕获的异常类@ExceptionHandler(BusinessException.class)
public Result exceptionHandler (BusinessException e){
log.error(e.getMessage());
//将异常类的信息封装成Result类,返回前端returnResult.fail(e.getCode(),e.getMessage(),e.getDescription());
}
}
2.4 ServiceImpl实现
业务代码没问题就直接返回Result.succ()
出现问题就抛出自定义异常,由全局异常处理器进行捕获封装成Result.fail()发送给前端。
@Service
public classEmployeeServiceImplextendsServiceImpl<EmployeeMapper, Employee>implementsEmployeeService{
@Override
public Result aa(String msg) {
if (msg.equals("1")){
returnResult.succ("提交信息成功");
}elsethrownewBusinessException("提交失败",400,"未提交信息");
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗