如果未捕获异常会发生什么?

3
我不是在请求一个意外的异常,而是一个未被捕获的异常。
崩溃了?还是终止了?
2个回答

7
根据§15.3/9:

如果程序中没有找到匹配的处理程序,则调用函数terminate();在调用terminate()之前是否展开堆栈是由实现定义的(15.5.1)。强调是我的

之后发生的事情取决于您的操作系统。实际上:崩溃。(或者如果您在调试器中,“嘿,你没捕捉到这个。”)

0
通常,terminate() 函数会调用 abort() 函数来终止进程,可能会转储核心文件,或者如果有调试器附加,则停在调试器中,以便您查看发生了什么。如果您没有在某个地方捕获异常,程序将无法继续执行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接