全局异常统一处理专项测试
考察知识点
- @ControllerAdvice注解原理与用法
- @ExceptionHandler异常捕获机制
- HandlerExceptionResolver接口
- 自定义异常设计与处理
@ControllerAdvice注解标注的异常处理器可以处理所有Controller抛出的异常,包括Filter和其他组件抛出的异常。
在普通Controller内部定义的@ExceptionHandler方法只能处理当前Controller抛出的异常,不能处理其他Controller的异常。
在Spring Boot项目中,自定义业务异常通常继承哪个类?
统一响应体使用泛型设计(如ApiResponse),主要好处是什么?
当Controller内部定义了@ExceptionHandler,同时@ControllerAdvice也定义了相同异常的处理方法,优先执行哪个?
@ControllerAdvice注解的主要作用是什么?
@ExceptionHandler注解可以标注在方法上,用于处理哪些类型的异常?
当多个@ExceptionHandler可以处理同一异常时,Spring按照什么规则选择处理器?
统一响应体封装的主要目的是什么?
Spring Boot默认提供的错误处理端点是什么,访问它会显示错误详情?
Spring MVC处理异常的核心接口是什么,它负责解析异常并返回相应的ModelAndView?
自定义业务异常通常携带错误码(code)字段,其主要目的是什么?
自定义业务异常类通常应该包含哪些字段?
统一响应体通常包含哪些字段?
@ExceptionHandler标注的方法可以接收哪些类型的参数?
Spring Boot中实现全局异常处理的方式有哪些?
Spring的@Transactional注解默认只对____________类型的异常进行事务回滚,如果需要对所有Exception回滚,需要配置rollbackFor属性,如@Transactional(rollbackFor = ____________)。
@ControllerAdvice注解用于定义全局异常处理器,如果需要返回JSON格式数据,应使用____________注解,它是@ControllerAdvice和____________的组合注解。
Spring Boot默认的错误处理端点路径是____________,可以通过配置server.error.path属性修改为自定义路径。默认的错误控制器类名是____________。
统一响应体中,成功响应的状态码通常为____________,失败响应的状态码根据错误类型不同,如参数校验错误为____________,资源不存在为____________,系统内部错误为500。