Spring统一异常处理的3种方法
使用统一异常处理,将这些重复的try-catch块抽取出来,这样使我们可以更专注于业务逻辑的处理,同时能够使得异常的处理有一个统一的控制。
Spring 统一异常处理有 3 种方式,分别为:
使用 @ ExceptionHandler 注解
实现 HandlerExceptionResolver 接口
使用 @controlleradvice 注解
一、HandlerExceptionResolver全局异常处理
使用全局异常处理器只需要两步:
1.实现HandlerExceptionResolver接口。
2.将实现类作为Spring Bean,这样Spring就能扫描到它并作为全局异常处理器加载。
二、Controller局部异常处理
三、@ControllerAdvice
如果单使用2中的@ExceptionHandler,只能在当前Controller中处理异常。但当配合@ControllerAdvice一起使用的时候,则可以全局捕获。
@ControllerAdvice,是Spring3.2提供的新注解,它是一个Controller增强器,可对controller中被@RequestMapping注解的方法加一些逻辑处理,最常用的就是异常处理。
需要配合@ExceptionHandler使用。
当将异常抛到controller时,可以对异常进行统一处理,规定返回的json格式或是跳转到一个错误页面。
详细代码地址
https://gitee.com/codefarmer001/study-spring.git
参考文章
https://blog.csdn.net/sinat_38649523/article/details/107050013
https://www.cnblogs.com/junzi2099/p/7840294.html
本文地址:https://blog.csdn.net/jike11231/article/details/111995827
推荐阅读
-
Spring Boot 数据校验@Valid+统一异常处理的实现
-
Spring Cloud zuul自定义统一异常处理实现方法
-
python3 与python2 异常处理的区别与联系
-
Spring Cloud学习教程之Zuul统一异常处理与回退
-
spring boot请求异常处理并返回对应的html页面
-
只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常
-
spring boot 2 全局统一返回RESTful风格数据、统一异常处理
-
Spring Cloud zuul自定义统一异常处理实现方法
-
spring boot请求异常处理并返回对应的html页面
-
SpringMVC 统一的全局的异常处理机制