在项目中使用SpringMVC全局异常处理

本文介绍了在项目中如何使用SpringMVC实现全局异常处理,包括CustomRestExceptionHandler、CustomException、ExceptionEnum和ErrorDTO四个关键类的使用,强调了异常处理对代码整洁的重要性,并提供了测试示例。
摘要由CSDN通过智能技术生成

当程序发生错误时,返回错误内容,会搞乱了调用者代码。调用者必须在调用之后即刻检查错误,不幸的是,这个步骤很容易被遗忘。
建议在发生错误时抛出异常,调用代码很整洁,绮逻辑不会被错误处理搞乱。
————–《代码整洁之道》


SpringMVC提供了一个全局异常处理机制,使用比较简单,网上也有很多介绍的文章,本文主要举例说明在我们项目组是如何使用的。

完整的引入全局异常处理机制,包含以下四个类:

  • CustomRestExceptionHandler(继承ResponseEntityExceptionHandler)用来监听处理全局异常
  • CustomException(继承RuntimeException)自定义异常类
  • ExceptionEnum 异常枚举类
  • ErrorDTO 异常响应DTO,规范异常发生时的接口返回值

CustomException和ExceptionEnum的配合使用,主要是为了统一管理所有的异常,这对异常码的统一与复用十分重要

异常处理逻辑:
1、开发人员在ExceptionEnum中定义列举所有的异常(异常码、异常信息),这样主要是方便管理所有异常码
2、在代码错误处理逻辑中,new一个CustomException并throw,创建CustomException的参数建议使用ExceptionEnum的值
3、异常如果没有没catch并处理的话,会抛到controller处理层,这时会被CustomRestExceptionHandler捕获到
4、CustomRestExceptionHandler将异常封装到ErrorDTO,并作为接口响应值返回给调用接口者

使用一个简单的工程来举例说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值