文档信息
前言
第 1 部分C++ 编译器
1. C++ 编译器
2. 使用 C++ 编译器
3. 使用 C++ 编译器选项
第 2 部分编写 C++ 程序
4. 语言扩展
5. 程序组织
6. 创建和使用模板
7. 编译模板
8. 异常处理
8.1 同步和异步异常
8.2 指定运行时错误
8.3 禁用异常
8.4 使用运行时函数和预定义的异常
8.5 将异常与信号和 Setjmp/Longjmp 混合使用
8.6 生成具有异常的共享库
9. 改善程序性能
10. 生成多线程程序
第 3 部分库
11. 使用库
12. 使用 C++ 标准库
13. 使用传统 iostream 库
14. 生成库
第 4 部分附录
A. C++ 编译器选项
B. Pragma
词汇表
索引
五个运行时错误消息与异常相关:
没有异常处理程序
抛出了意外的异常
异常只能在处理程序中重新抛出
在堆栈展开时,析构函数必须处理自身的异常
内存不足
运行时检测到错误时,错误消息会显示当前异常的类型和这五个错误消息之一。缺省情况下,会调用预定义的函数 terminate(),该函数又会调用 abort()。
编译器使用异常规范中提供的信息来优化代码生成。例如,禁止不抛出异常的函数表条目,而函数异常规范的运行时检查在任何可能的地方被消除。