首页/ 学科题库/ SpringMVC/ 全局异常统一处理专项测试
SpringMVC 模拟试卷

全局异常统一处理专项测试

20 题 45 分钟 难度:★★
  • @ExceptionHandler局部异常处理
  • @ControllerAdvice全局异常处理
  • SimpleMappingExceptionResolver配置
  • 自定义异常类设计
  • 异常响应JSON格式封装
  • 异常处理最佳实践

试卷习题(20 题)

参考答案在文末
判断题
1
判断题

在异常处理方法中返回ResponseEntity对象可以同时设置HTTP状态码和响应体内容。

A

对

B

错

2
判断题

在项目中可以定义多个自定义异常类,如UserNotFoundException、PermissionDeniedException等,以区分不同的业务异常场景。

A

对

B

错

3
判断题

当同时配置了局部@ExceptionHandler和全局@ControllerAdvice异常处理时,如果两者都能处理同一异常类型,SpringMVC会优先执行全局异常处理器。

A

对

B

错

4
判断题

@RestControllerAdvice注解等同于@ControllerAdvice和@ResponseBody的组合,用于RESTful API的全局异常处理。

A

对

B

错

单选题
5
单选题

Spring Boot默认的错误处理机制中,访问哪个端点可以查看错误详情?

A

/error

B

/exception

C

/errors

D

/api/error

6
单选题

以下关于SpringMVC异常处理优先级的描述,哪个是正确的?

A

HandlerExceptionResolver优先于@ControllerAdvice执行

B

@ControllerAdvice优先于局部@ExceptionHandler执行

C

局部@ExceptionHandler优先于@ControllerAdvice执行

D

所有异常处理器并行执行,随机选择

7
单选题

在全局异常处理方法中,使用@ResponseBody注解后,返回的错误信息会以什么格式响应给客户端?

A

HTML页面

B

JSON格式

C

XML格式

D

纯文本格式

8
单选题

设计统一的JSON错误响应结构时,通常应该包含哪些必要字段?

A

code(错误码)和message(错误信息)

B

data(错误数据)和time(时间戳)

C

status(状态)和body(内容)

D

只有message字段即可

9
单选题

以下关于SpringMVC/Spring Boot统一异常处理架构的描述,哪项是最佳实践?

A

所有异常都在Controller方法中使用try-catch捕获处理

B

定义自定义异常类,使用@RestControllerAdvice统一处理所有异常

C

只使用Spring Boot默认的/error端点处理异常

D

所有异常都直接抛出,由Servlet容器处理

10
单选题

自定义异常类中定义错误码字段的主要目的是?

A

记录异常发生的行号

B

前端可以根据错误码进行精确的错误提示和逻辑处理

C

方便异常类之间的比较

D

作为异常的唯一标识符

11
单选题

在SpringMVC中,以下哪种异常处理方式的作用范围最小?

A

@ExceptionHandler注解方法

B

@ControllerAdvice注解类

C

HandlerExceptionResolver接口实现

D

SimpleMappingExceptionResolver配置

12
单选题

SpringMVC默认注册了哪些HandlerExceptionResolver?

A

ExceptionHandlerExceptionResolver

B

ResponseStatusExceptionResolver

C

DefaultHandlerExceptionResolver

D

以上全部

13
单选题

Spring Boot 2.x中,当Controller抛出异常时,如果没有被@ExceptionHandler处理,异常会由哪个组件处理?

A

DispatcherServlet直接处理

B

BasicErrorController

C

HandlerExceptionResolver链

D

Tomcat容器

14
单选题

设计自定义业务异常类时,通常应该继承哪个类?

A

Exception

B

RuntimeException

C

Throwable

D

Error

多选题
15
多选题

在Spring Boot中自定义全局异常处理,可以采用哪些方式?

A

使用@ControllerAdvice和@ExceptionHandler

B

实现ErrorAttributes接口自定义错误属性

C

继承BasicErrorController类自定义错误控制器

D

在application.yml中配置server.error属性

E

实现 ErrorHandler 接口

16
多选题

SpringMVC提供的异常处理机制有哪些?

A

使用@ExceptionHandler注解定义局部异常处理方法

B

使用@ControllerAdvice定义全局异常处理类

C

实现HandlerExceptionResolver接口自定义异常解析器

D

配置SimpleMappingExceptionResolver映射异常到视图

E

使用try-catch在Controller方法中手动捕获异常

填空题
17
填空题

Spring Boot默认的错误响应JSON包含以下字段:

  1. :错误发生的时间戳
  2. :HTTP状态码
  3. :错误原因描述
  4. message:详细错误信息
  5. path:请求的URL路径

可通过实现ErrorAttributes接口自定义这些字段。

18
填空题

使用ResponseEntity返回错误信息时:

  1. 创建对象,可以设置HTTP状态码和响应体
  2. 使用枚举指定状态码,如HttpStatus.表示400错误
  3. 响应体可以是Map或自定义的ErrorResponse对象
19
填空题

设计一个自定义业务异常类BusinessException,通常需要包含以下属性:

  1. :错误码,用于前端识别错误类型
  2. :错误信息,用于展示给用户
  3. :附加数据,可选,携带更多上下文信息

该类应继承RuntimeException类,避免强制捕获。

20
填空题

在SpringMVC中实现统一异常处理,通常需要:

  1. 定义类,继承RuntimeException,包含错误码和错误信息
  2. 使用注解创建全局异常处理类
  3. 使用注解定义异常处理方法
  4. 使用@ResponseBody注解返回JSON格式的错误信息
参考答案
1.正确 2.正确 3.错误 4.正确 5.A 6.C 7.B 8.A 9.B 10.B 11.A 12.D 13.C 14.B 15.A;B;C;D 16.A;B;C;D;E 17.timestamp;status;error 18.ResponseEntity;HttpStatus;BAD_REQUEST 19.code;message;data 20.自定义异常;@ControllerAdvice;@ExceptionHandler
想在手机上在线作答这套卷子?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可限时作答并自动判分。
了解产品 App
← 上一套 SpringMvc高级技能认证 下一套 → 容器级WEB组件扩展专项测试