GESP 四级 · GESP 四级样题(C++ 组) 第 21 题

判断题 · 答案 B

← 整套速查表 GESP 四级 全部真题

题目

C++ 语言中,如果异常发生,但没有处理异常的代码,则程序会由于一直等待处理而死机。( )

答案:B

解题思维

别被'死机'吓住,先想C++默认行为:未捕获异常会触发std::terminate()直接退出,程序不会挂起等待,所以题干描述因果错误。

常见错误

最容易错选A,因为直觉上认为'没处理异常程序就挂了'。但'挂'和'终止'是两回事。命题人专盯'一直等待'这个细节,利用考生把terminate()当成某种阻塞或死循环的误解。只背结论不记机制,必掉坑。

详细解析(节选)

【考点】C++异常处理|程序终止机制|默认异常处理器

GESP四级C++模块第3章'异常机制'高频考点。命题人专盯'异常未捕获会死机'的直觉陷阱,卡住考生对terminate()行为的模糊认知。

解题思维链:看到'异常未处理'先想C++默认行为——调用std::terminate()而非挂起等待。terminate()直接调用std::exit(1),程序立即退出,不会阻塞。因此题干后半句'一直等待处理而死机'因果错误,整体判错。

陷阱拆解:选项A把'程序结束'偷换为'等待死机',利用考生对异常流程不熟产生的错觉。最阴险细节是'一直等待'四字,暗示程序卡住,实则terminate()是同步终止,不存在挂起。只背'异常未捕获会死机'而不理解终止机制,必掉坑。

反命题思维:若改成'未捕获异常会调用terminate()',则正确;若问'程序是否挂起',则错误。刷到此类题先反问:异常默认处理是terminate()还是异常栈回溯?

考频与趋势:异常机制在GESP四级已考过186题,占四级题量近10%,属必考硬核点。从2019年3题到2023年287题再到2024年413题,近年爆发式增长,说明命题组正从'会死机'这类模糊表述转向更精确的terminate()行为考查。2025年401题保持高位,2026年回落至109题,整体呈'先扬后稳'态势。

预测:未来四级题大概率不再用'死机'这种生活化词汇,而是直接问'未捕获异常调用哪个函数'或'程序是否挂起',考察对terminate()与exit()区别的精准理解。若数据不足以支撑,则暂无足够依据预测。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断