当一个函数抛出一个错误但没有在它可以抛出的异常列表中指定错误时会发生什么。
例如,以下程序的输出是什么?
#include
using namespace std;
// Ideally it should have been "int fun() (int)"
int fun()
{
throw 10;
}
int main()
{
try
{
fun();
}
catch (int )
{
cout << "Caught";
}
return 0;
}
(A)编译器错误
(B)没有编译器错误。输出为“已捕获”答案: (B)
说明: C++编译器不检查强制执行函数以列出其可能抛出的异常。在Java,它是强制性的。
由程序员指定。作为文明的程序员,程序员应指定列表。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。