返回题库高级 .NET 刷题ASP.NET Core 选择题 · 第 22 / 50 篇

ASP.NET Core 试题 22:异常处理与 ProblemDetails

0421 在 UseExceptionHandler 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. UseExceptionHandler 能回滚所有数据库和消息操作
  • B. 异常处理中间件捕获后续管道未处理异常,并在可行时重新执行或生成响应
  • C. 响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理
  • D. 观察到“部分响应已发送后客户端得到截断内容”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案B

正确答案直接描述 UseExceptionHandler 的主规则:异常处理中间件捕获后续管道未处理异常,并在可行时重新执行或生成响应。选项“响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理”是使用规则时要验证的边界,不是规则本身;“UseExceptionHandler 能回滚所有数据库和消息操作”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0422 部分响应已发送后客户端得到截断内容。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“UseExceptionHandler 能回滚所有数据库和消息操作”定性,不再检查配置、身份或运行时证据。
  • B. 只增加重试次数或机器资源,暂不核对“响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理”。
  • C. 以一次成功请求作为结论,不再确认“异常处理中间件捕获后续管道未处理异常,并在可行时重新执行或生成响应”是否成立。
  • D. 先验证“响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理”,再依据“异常处理中间件捕获后续管道未处理异常,并在可行时重新执行或生成响应”判断实现是否符合契约。
查看答案与解析

正确答案D

场景“部分响应已发送后客户端得到截断内容”指向 UseExceptionHandler,但症状本身不能证明根因。正确排查应先确认边界“响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理”,再用主规则“异常处理中间件捕获后续管道未处理异常,并在可行时重新执行或生成响应”解释证据。直接采用误区“UseExceptionHandler 能回滚所有数据库和消息操作”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0423 关于 UseExceptionHandler,以下哪项说法不成立?

难度: 实战

  • A. UseExceptionHandler 能回滚所有数据库和消息操作
  • B. 异常处理中间件捕获后续管道未处理异常,并在可行时重新执行或生成响应
  • C. 响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理
  • D. 出现“部分响应已发送后客户端得到截断内容”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案A

题目要求选出不成立的说法,答案“UseExceptionHandler 能回滚所有数据库和消息操作”正是 UseExceptionHandler 的典型误区。其余三项分别给出了主规则“异常处理中间件捕获后续管道未处理异常,并在可行时重新执行或生成响应”、适用边界“响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0424 针对“部分响应已发送后客户端得到截断内容”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“UseExceptionHandler 能回滚所有数据库和消息操作”修改实现,并把一次请求成功作为验收结果。
  • B. 按“异常处理中间件捕获后续管道未处理异常,并在可行时重新执行或生成响应”修改代码后直接上线,不验证“响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理”。
  • C. 按“异常处理中间件捕获后续管道未处理异常,并在可行时重新执行或生成响应”修正实现,并用测试或遥测验证“响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理”。
  • D. 只验证“响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理”,但实现仍继续依赖“UseExceptionHandler 能回滚所有数据库和消息操作”。
查看答案与解析

正确答案C

完整决策同时覆盖规则与验证:异常处理中间件捕获后续管道未处理异常,并在可行时重新执行或生成响应;并确认 响应已经开始后通常无法可靠改写状态码和正文,流式响应需特别处理。继续接受“UseExceptionHandler 能回滚所有数据库和消息操作”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“部分响应已发送后客户端得到截断内容”这一生产场景能否安全上线。

0425 在 AddProblemDetails 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. 注册 AddProblemDetails 后所有异常都会自动变成 400
  • B. ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿
  • C. AddProblemDetails 注册 ProblemDetails 服务,可与异常处理和状态码页生成标准错误载荷
  • D. 观察到“数据库超时被错误标记为客户端输入错误”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案C

正确答案直接描述 AddProblemDetails 的主规则:AddProblemDetails 注册 ProblemDetails 服务,可与异常处理和状态码页生成标准错误载荷。选项“ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿”是使用规则时要验证的边界,不是规则本身;“注册 AddProblemDetails 后所有异常都会自动变成 400”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0426 数据库超时被错误标记为客户端输入错误。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“注册 AddProblemDetails 后所有异常都会自动变成 400”定性,不再检查配置、身份或运行时证据。
  • B. 先验证“ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿”,再依据“AddProblemDetails 注册 ProblemDetails 服务,可与异常处理和状态码页生成标准错误载荷”判断实现是否符合契约。
  • C. 只增加重试次数或机器资源,暂不核对“ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿”。
  • D. 以一次成功请求作为结论,不再确认“AddProblemDetails 注册 ProblemDetails 服务,可与异常处理和状态码页生成标准错误载荷”是否成立。
查看答案与解析

正确答案B

场景“数据库超时被错误标记为客户端输入错误”指向 AddProblemDetails,但症状本身不能证明根因。正确排查应先确认边界“ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿”,再用主规则“AddProblemDetails 注册 ProblemDetails 服务,可与异常处理和状态码页生成标准错误载荷”解释证据。直接采用误区“注册 AddProblemDetails 后所有异常都会自动变成 400”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0427 关于 AddProblemDetails,以下哪项说法不成立?

难度: 实战

  • A. AddProblemDetails 注册 ProblemDetails 服务,可与异常处理和状态码页生成标准错误载荷
  • B. ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿
  • C. 出现“数据库超时被错误标记为客户端输入错误”时,应收集证据并同时核对主规则与适用边界。
  • D. 注册 AddProblemDetails 后所有异常都会自动变成 400
查看答案与解析

正确答案D

题目要求选出不成立的说法,答案“注册 AddProblemDetails 后所有异常都会自动变成 400”正是 AddProblemDetails 的典型误区。其余三项分别给出了主规则“AddProblemDetails 注册 ProblemDetails 服务,可与异常处理和状态码页生成标准错误载荷”、适用边界“ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0428 针对“数据库超时被错误标记为客户端输入错误”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“AddProblemDetails 注册 ProblemDetails 服务,可与异常处理和状态码页生成标准错误载荷”修正实现,并用测试或遥测验证“ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿”。
  • B. 按“注册 AddProblemDetails 后所有异常都会自动变成 400”修改实现,并把一次请求成功作为验收结果。
  • C. 按“AddProblemDetails 注册 ProblemDetails 服务,可与异常处理和状态码页生成标准错误载荷”修改代码后直接上线,不验证“ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿”。
  • D. 只验证“ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿”,但实现仍继续依赖“注册 AddProblemDetails 后所有异常都会自动变成 400”。
查看答案与解析

正确答案A

完整决策同时覆盖规则与验证:AddProblemDetails 注册 ProblemDetails 服务,可与异常处理和状态码页生成标准错误载荷;并确认 ProblemDetails 是传输格式,不会自动完成异常分类、日志脱敏或业务补偿。继续接受“注册 AddProblemDetails 后所有异常都会自动变成 400”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“数据库超时被错误标记为客户端输入错误”这一生产场景能否安全上线。

0429 在 IExceptionHandler 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. 每个 IExceptionHandler 都会对同一异常执行到最后一个
  • B. 处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底
  • C. 观察到“首个处理器成功后后续仍重复写响应”即可把一次现象当成完整框架契约。
  • D. IExceptionHandler 可按注册顺序尝试处理异常,返回 true 表示已处理
查看答案与解析

正确答案D

正确答案直接描述 IExceptionHandler 的主规则:IExceptionHandler 可按注册顺序尝试处理异常,返回 true 表示已处理。选项“处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底”是使用规则时要验证的边界,不是规则本身;“每个 IExceptionHandler 都会对同一异常执行到最后一个”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0430 首个处理器成功后后续仍重复写响应。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“每个 IExceptionHandler 都会对同一异常执行到最后一个”定性,不再检查配置、身份或运行时证据。
  • B. 先验证“处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底”,再依据“IExceptionHandler 可按注册顺序尝试处理异常,返回 true 表示已处理”判断实现是否符合契约。
  • C. 只增加重试次数或机器资源,暂不核对“处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底”。
  • D. 以一次成功请求作为结论,不再确认“IExceptionHandler 可按注册顺序尝试处理异常,返回 true 表示已处理”是否成立。
查看答案与解析

正确答案B

场景“首个处理器成功后后续仍重复写响应”指向 IExceptionHandler,但症状本身不能证明根因。正确排查应先确认边界“处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底”,再用主规则“IExceptionHandler 可按注册顺序尝试处理异常,返回 true 表示已处理”解释证据。直接采用误区“每个 IExceptionHandler 都会对同一异常执行到最后一个”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0431 关于 IExceptionHandler,以下哪项说法不成立?

难度: 实战

  • A. 每个 IExceptionHandler 都会对同一异常执行到最后一个
  • B. IExceptionHandler 可按注册顺序尝试处理异常,返回 true 表示已处理
  • C. 处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底
  • D. 出现“首个处理器成功后后续仍重复写响应”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案A

题目要求选出不成立的说法,答案“每个 IExceptionHandler 都会对同一异常执行到最后一个”正是 IExceptionHandler 的典型误区。其余三项分别给出了主规则“IExceptionHandler 可按注册顺序尝试处理异常,返回 true 表示已处理”、适用边界“处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0432 针对“首个处理器成功后后续仍重复写响应”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“每个 IExceptionHandler 都会对同一异常执行到最后一个”修改实现,并把一次请求成功作为验收结果。
  • B. 按“IExceptionHandler 可按注册顺序尝试处理异常,返回 true 表示已处理”修改代码后直接上线,不验证“处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底”。
  • C. 按“IExceptionHandler 可按注册顺序尝试处理异常,返回 true 表示已处理”修正实现,并用测试或遥测验证“处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底”。
  • D. 只验证“处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底”,但实现仍继续依赖“每个 IExceptionHandler 都会对同一异常执行到最后一个”。
查看答案与解析

正确答案C

完整决策同时覆盖规则与验证:IExceptionHandler 可按注册顺序尝试处理异常,返回 true 表示已处理;并确认 处理器应把已知异常映射为稳定状态码,未知异常仍要记录并安全兜底。继续接受“每个 IExceptionHandler 都会对同一异常执行到最后一个”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“首个处理器成功后后续仍重复写响应”这一生产场景能否安全上线。

0433 在 开发与生产错误 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. 开发环境可显示详细异常页,生产响应应隐藏堆栈和内部实现
  • B. 把 ASPNETCORE_ENVIRONMENT 设为 Production 会自动修复所有信息泄露
  • C. 服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入
  • D. 观察到“自定义异常正文仍返回 SQL 和连接字符串”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案A

正确答案直接描述 开发与生产错误 的主规则:开发环境可显示详细异常页,生产响应应隐藏堆栈和内部实现。选项“服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入”是使用规则时要验证的边界,不是规则本身;“把 ASPNETCORE_ENVIRONMENT 设为 Production 会自动修复所有信息泄露”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0434 自定义异常正文仍返回 SQL 和连接字符串。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“把 ASPNETCORE_ENVIRONMENT 设为 Production 会自动修复所有信息泄露”定性,不再检查配置、身份或运行时证据。
  • B. 先验证“服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入”,再依据“开发环境可显示详细异常页,生产响应应隐藏堆栈和内部实现”判断实现是否符合契约。
  • C. 只增加重试次数或机器资源,暂不核对“服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入”。
  • D. 以一次成功请求作为结论,不再确认“开发环境可显示详细异常页,生产响应应隐藏堆栈和内部实现”是否成立。
查看答案与解析

正确答案B

场景“自定义异常正文仍返回 SQL 和连接字符串”指向 开发与生产错误,但症状本身不能证明根因。正确排查应先确认边界“服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入”,再用主规则“开发环境可显示详细异常页,生产响应应隐藏堆栈和内部实现”解释证据。直接采用误区“把 ASPNETCORE_ENVIRONMENT 设为 Production 会自动修复所有信息泄露”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0435 关于 开发与生产错误,以下哪项说法不成立?

难度: 实战

  • A. 开发环境可显示详细异常页,生产响应应隐藏堆栈和内部实现
  • B. 服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入
  • C. 出现“自定义异常正文仍返回 SQL 和连接字符串”时,应收集证据并同时核对主规则与适用边界。
  • D. 把 ASPNETCORE_ENVIRONMENT 设为 Production 会自动修复所有信息泄露
查看答案与解析

正确答案D

题目要求选出不成立的说法,答案“把 ASPNETCORE_ENVIRONMENT 设为 Production 会自动修复所有信息泄露”正是 开发与生产错误 的典型误区。其余三项分别给出了主规则“开发环境可显示详细异常页,生产响应应隐藏堆栈和内部实现”、适用边界“服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0436 针对“自定义异常正文仍返回 SQL 和连接字符串”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“把 ASPNETCORE_ENVIRONMENT 设为 Production 会自动修复所有信息泄露”修改实现,并把一次请求成功作为验收结果。
  • B. 按“开发环境可显示详细异常页,生产响应应隐藏堆栈和内部实现”修改代码后直接上线,不验证“服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入”。
  • C. 按“开发环境可显示详细异常页,生产响应应隐藏堆栈和内部实现”修正实现,并用测试或遥测验证“服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入”。
  • D. 只验证“服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入”,但实现仍继续依赖“把 ASPNETCORE_ENVIRONMENT 设为 Production 会自动修复所有信息泄露”。
查看答案与解析

正确答案C

完整决策同时覆盖规则与验证:开发环境可显示详细异常页,生产响应应隐藏堆栈和内部实现;并确认 服务器日志可保留受控诊断信息,但不能把机密、令牌或个人数据直接写入。继续接受“把 ASPNETCORE_ENVIRONMENT 设为 Production 会自动修复所有信息泄露”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“自定义异常正文仍返回 SQL 和连接字符串”这一生产场景能否安全上线。

0437 在 StatusCodePages 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. StatusCodePages 会把成功响应统一改成 ProblemDetails
  • B. 状态码页可为没有正文的 4xx 或 5xx 响应补充内容
  • C. 它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品
  • D. 观察到“404 空响应需要统一错误格式”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案B

正确答案直接描述 StatusCodePages 的主规则:状态码页可为没有正文的 4xx 或 5xx 响应补充内容。选项“它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品”是使用规则时要验证的边界,不是规则本身;“StatusCodePages 会把成功响应统一改成 ProblemDetails”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0438 404 空响应需要统一错误格式。排查时哪项动作最合理?

难度: 进阶

  • A. 先验证“它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品”,再依据“状态码页可为没有正文的 4xx 或 5xx 响应补充内容”判断实现是否符合契约。
  • B. 直接按“StatusCodePages 会把成功响应统一改成 ProblemDetails”定性,不再检查配置、身份或运行时证据。
  • C. 只增加重试次数或机器资源,暂不核对“它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品”。
  • D. 以一次成功请求作为结论,不再确认“状态码页可为没有正文的 4xx 或 5xx 响应补充内容”是否成立。
查看答案与解析

正确答案A

场景“404 空响应需要统一错误格式”指向 StatusCodePages,但症状本身不能证明根因。正确排查应先确认边界“它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品”,再用主规则“状态码页可为没有正文的 4xx 或 5xx 响应补充内容”解释证据。直接采用误区“StatusCodePages 会把成功响应统一改成 ProblemDetails”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0439 关于 StatusCodePages,以下哪项说法不成立?

难度: 实战

  • A. 状态码页可为没有正文的 4xx 或 5xx 响应补充内容
  • B. 它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品
  • C. StatusCodePages 会把成功响应统一改成 ProblemDetails
  • D. 出现“404 空响应需要统一错误格式”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案C

题目要求选出不成立的说法,答案“StatusCodePages 会把成功响应统一改成 ProblemDetails”正是 StatusCodePages 的典型误区。其余三项分别给出了主规则“状态码页可为没有正文的 4xx 或 5xx 响应补充内容”、适用边界“它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0440 针对“404 空响应需要统一错误格式”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“StatusCodePages 会把成功响应统一改成 ProblemDetails”修改实现,并把一次请求成功作为验收结果。
  • B. 按“状态码页可为没有正文的 4xx 或 5xx 响应补充内容”修改代码后直接上线,不验证“它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品”。
  • C. 只验证“它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品”,但实现仍继续依赖“StatusCodePages 会把成功响应统一改成 ProblemDetails”。
  • D. 按“状态码页可为没有正文的 4xx 或 5xx 响应补充内容”修正实现,并用测试或遥测验证“它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品”。
查看答案与解析

正确答案D

完整决策同时覆盖规则与验证:状态码页可为没有正文的 4xx 或 5xx 响应补充内容;并确认 它不处理已生成正文的响应,也不是异常捕获和 API 领域错误映射的替代品。继续接受“StatusCodePages 会把成功响应统一改成 ProblemDetails”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“404 空响应需要统一错误格式”这一生产场景能否安全上线。

官方资料

当前分类

ASP.NET Core 选择题

查看全部分类 →
  1. 20ASP.NET Core 试题 20:内容协商与格式化程序20 题
  2. 21ASP.NET Core 试题 21:MVC 过滤器20 题
  3. 22ASP.NET Core 试题 22:异常处理与 ProblemDetails20 题
  4. 23ASP.NET Core 试题 23:HTTP 结果与状态码语义20 题
  5. 24ASP.NET Core 试题 24:认证方案与处理器20 题
ESC

输入关键词开始搜索