根据§15.3/9: 如果程序中没有找到匹配的处理程序,则调用函数terminate();在调用terminate()之前是否展开堆栈是由实现定义的(15.5.1)。强调是我的 之后发生的事情取决于您的操作系统。实际上:崩溃。(或者如果您在调试器中,“嘿,你没捕捉到这个。”)
通常,terminate() 函数会调用 abort() 函数来终止进程,可能会转储核心文件,或者如果有调试器附加,则停在调试器中,以便您查看发生了什么。如果您没有在某个地方捕获异常,程序将无法继续执行。