spring boot项目的最简单异常处理
在Spring Boot框架中,如果某方法抛出异常且没有进行任何异常处理,该异常自然会不断沿着调用栈向上抛,最后Spring Boot会默认处理该异常,并将结果返回给前端。默认情况下会以json格式返回一个错误响应,通常包含以下字段:
{ "timestamp": "2025-02-13T00:33:00Z", // 异常发生的时间戳 "status": 500, // HTTP状态码 "error": "Internal Server Error", // 状态码对应的错误信息 "path": "/your-request-path" // 请求的路径 }
显然,不对异常做处理且将错误响应直接返回给前端是不好的,因此需要对异常进行处理。可以有以下几个方法:
- 由于对请求的处理是从controller开始的,可以在每个controller方法中使用
try...catch...
语句捕获异常。通常controller方法会很多,所以会导致代码臃肿,因此不推荐。 - 相对更推荐使用全局异常处理器。定义全局异常handler的代码相对模板化,可以找一找模板。重点是要通过
@ExceptionHandler
注解指定方法处理什么类型的异常(比如@ExceptionHandler(Exception.class)
说明该方法捕获所有类型的异常),以及在handler类上加上@RestControllerAdvice
注解。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇