有五个与异常有关的运行时错误消息:
没有异常处理程序
未预料到的异常抛出
异常只能在处理程序中重新抛出
在堆栈展开时,析构函数必须处理自身的异常
内存不足
运行时检测到错误时,错误消息会显示当前异常的类型和这五个错误消息之一。缺省情况下,会调用预定义的函数 terminate(),该函数又会调用 abort()。
编译器使用异常规范中提供的信息来优化代码生成。例如,禁止不抛出异常的函数表条目,而函数异常规范的运行时检查在任何可能的地方被消除。