Oracle Solaris Studio 12.2:C++ 用户指南

8.1 同步和异步异常

异常处理设计用于仅支持同步异常,例如数组范围检查。同步异常这一术语意味着异常只能源于 throw 表达式。

C++ 标准支持具有终止模型的同步异常处理。终止意味着一旦抛出异常,控制永远不会返回到抛出点。

异常处理没有设计用于直接处理诸如键盘中断等异步异常。不过,如果小心处理,在出现异步事件时也可以进行异常处理。例如,要用信号进行异常处理工作,您可以编写设置全局变量的信号处理程序,并创建另外一个例程来定期轮询该变量的值,当该变量值发生更改时抛出异常。不能从信号处理程序抛出异常。