在系统的开发项目中,spring异常类型很多,加上我们系统也要有自己的业务异常等等,如果不对异常进行处理,在前后端联调的时候,或者运行中出现错误,不易调试和处理,如今项目前后端分离,我们要对异常进行统一处理,在springBoot中提供一个注解@RestControllerAdvice用来标注类做全局异常处理,使用@ExceptionHandler(异常类型)捕获需要处理的异常,定义一个异常类返回,用于出异常进行统一异常返回。
一、实现步骤
- 定义异常统一返回类
- 定义全局异常处理类
- 定义需要处理异常类型,如各种业务异常、权限异常等
1、定义统一异常返回类如图所示
2、这里就定义一个业务异常类,还可以定义其他相关异常
3、定义全局异常处理类@RestControllerAdvice用来标注类做全局异常处理,使用@Exception
Handler(异常类型)捕获需要处理的异常,如图所示
4、进行编写对应的controller进行验证
因为咱们这边捕获一个总异常和一个业务异常,如果程序中找不到对应的异常就,就会找总异常,向上查找
5、进行测试
异常处理前
下面我们处理后的:
访问业务异常,按照我们定义异常统一返回的格式,如图所示:
访问其他异常,按照我们定义异常统一返回的格式,如图所示:
通过对异常统一处理,我们就很直接的知道异常信息等。
二、总结
以上就是实现实现全局异常统一处理步骤,在实际开发的项目中我们必须要对异常进行统一处理,而且可以定义很多异常的类型,如业务异常、系统权限异常、日志异常等等,以上就是实现全局异常的步骤,有不对的地方,欢迎大家指导交流。