因为那里是int类型没有具体的异常处理程序,所有处理程序捕获这个异常捕获。这个例子产生以下结果:
我们发现一个待定的类型的异常
收集所有处理程序应该放在最后的catch块链。这是为了确保通过异常处理程序,针对特定的数据类型,如果这些处理程序存在夹可以例外。VisualStudio执行此约束-我不知道其他的编译器做。
通常,收集所有处理程序块是空的:
1
catch(...) {} // ignore any unanticipated exceptions这会抓住任何意外的例外和防止他们退栈在程序上,但并没有具体的错误处理。
使用捕获所有处理程序包main()
一个有趣的用于捕获所有处理程序包main()内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
try
{
RunGame();
}
catch(...)
{
cerr << "Abnormal termination" << endl;
}
SaveState(); // Save user's game
return 1;
本文深入探讨了异常处理程序的使用与捕获机制,包括如何在`main()`函数中收集所有处理程序,以及如何确保针对特定数据类型进行有效的错误处理。详细介绍了异常处理的最佳实践,帮助开发者更高效地管理程序中的错误。
1905

被折叠的 条评论
为什么被折叠?



