当前位置: 首页 > news >正文

SpringBoot全局异常报错处理和信息返回

信息返回类

这种设计可以统一API返回格式,便于前端处理,也便于日志记录和错误排查

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result<T> 
{Integer code;String mes;T data;public static Result success(){return new Result(200,"成功",null);}public static Result error(){return new Result(500,"服务器出现未知错误",null);}public static Result error(String mes){return new Result(500,mes,null);}
}

全局异常处理

全局异常处理可以统一管理异常,避免在每个 Controller 中重复处理异常

自定义异常类

public class MyCustomException extends Exception 
{//构造方法public MyCustomException(String message) {super(message);}
}

全局异常处理类

@ControllerAdvice
public class GlobalExceptionHandler
{@ExceptionHandler(Exception.class)@ResponseBodypublic Result handleException(Exception e){//处理自定义异常信息if(e instanceof MyCustomException){//将自定义异常进行转换MyCustomException myCustomException = (MyCustomException)e;return Result.error(myCustomException.getMessage());}//所有异常处理return Result.error(e.getMessage());}
}

控制层

@RestController
@RequestMapping("demo")
public class DemoController 
{@GetMapping("getMyCustomException")public String getMyCustomException() throws Exception {throw new MyCustomException("自定义报错信息");}@GetMapping("getException")public String getException() throws Exception{throw new Exception();	}
}

测试结果

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/293285.html

相关文章:

  • 米家打印机驱动:Wi-Fi 无线打印丝滑顺畅不卡顿,从此告别对打印机干瞪眼
  • Java基础 7.22
  • 原型模式及优化
  • C++11相关知识点
  • 自动化测试报告生成【Allure】
  • Linux--指令初识
  • 一文读懂DQN改进算法(Double DQN+Dueling DQN)—强化学习(7)
  • Docker实战系列:使用Docker部署AI SSH客户端工具IntelliSSH
  • MCP消息协议和传输协议(Java角度)
  • 航班调度优化策略全局概览
  • TCP day39
  • 帆软实现审批流配置
  • C++ 模板库map数据结构的概念和使用案例
  • Rabbit安装
  • vben ruoyi 数据字典解决方案
  • 16.多生成树MSTP
  • Linux文件系统理解1
  • Selenium+Java 自动化测试入门到实践:从环境搭建到元素操作
  • ubuntu22.04 录视屏软件推荐
  • Three.js 实现梦幻星河流光粒子特效原理与实践
  • Redis 5.0中的 Stream是什么?
  • C语言(20250722)
  • 21. `taskSlotTable`和`jobLeaderService`启动
  • 使用空间数据训练机器学习模型的实用工作流程
  • An error occurred at line: 1 in the generated java file问题处理及tomcat指定对应的jdk运行
  • Dify工作流:爬虫文章到AI知识库
  • 【OD机试】数组和最大
  • Java基础环境配置
  • 从零开始学习大模型之文本数据处理
  • BEV-LaneDet