GESP 四级 · GESP 202506 C++ 四级 第 24 题

判断题 · 答案 B

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

题目

如果一个异常在 try 块中抛出但没有任何 catch 匹配,它将在编译时报错。

答案:B

解题思维

答案B。函数抛出异常不一定非要在try块中调用。异常会沿调用栈向上传播,直到被catch捕获或终止程序。

常见错误

不一定非要在try块中调用可能抛出异常的函数。异常会沿调用栈向上传播。

详细解析(节选)

You are 🎯 考纲定位 本考点位于 GESP 四级 C++ 大纲的"面向对象编程"模块,属于必考知识点。命题人卡住的是学生把"异常未捕获"误以为编译期报错,混淆了 C++ 异常与静态检查的边界——这是四级考生最普遍的概念误解。

2. 🧠 解题思维

看到题先判断:抛出异常后程序是否还能继续?异常处理是运行时机制,编译期只检查语法正确性。关键观察:异常未捕获时,程序会调用 std::terminate() 终止执行,而非编译失败。这一类"异常处理机制"题,通法是区分编译期静态检查和运行期动态行为。

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