目录
控制器级@ExceptionHandler
HandlerExceptionResolver接口
使用注解实现异常分类管理(@ControllerAdvice 和 @ExceptionHandler)
使用 @ControllerAdvice 对不同的 Controller 分别捕获异常并处理
ResponseStatusException(Spring 5及以上版本)
Spring Web MVC 中的异常处理流程
(1)ExceptionHandlerExceptionResolver
(2)SimpleMappingExceptionResolver
(3)ResponseStatusExceptionResolver
(4)DefaultHandlerExceptionResolver
@ControllerAdvice
@ExceptionHandler
注意:
优点:
缺点:
(1)basePackages
(2)basePackageClasses
(3)assignableTypes
(4)annotations
(1)创建三个 Controller
(2)创建两个全局异常处理类
(3)分别调用接口,查看错误日志
(1)调用 localhost:8080/test1
返回:GlobalExceptionHandler1 服务错误
即 MyController1 异常被 GlobalExceptionHandler1 全局异常类捕获
(2)调用 localhost:8080/test2
返回:GlobalExceptionHandler2 服务错误
即 MyController2 异常被 GlobalExceptionHandler2 全局异常类捕获
(3)调用 localhost:8080/test3
返回:
即 MyController3 异常没有被全局异常捕获
使用ResponseStatusException有什么好处?
坏处: