学堂在线C++程序设计第十四章学习笔记
异常处理
1 | try{ |
异常接口声明
- 一个函数显式声明可能抛出的异常,有利于函数的调用者为异常处理做好准备
- void fun() throw(A,B,C)
- 若无异常接口声明,则可以抛出任何类型的异常
- 不抛任何类型异常的函数声明如下:
void fun() throw()
异常处理的构造与析构
自动的析构
- 找到一个匹配的catch异常处理后
- 初始化异常参数
- 将从对应的try块开始到异常被抛出之间构造(且尚未析构)的所有自动对象进行析构
- 从最后一个catch处理之后开始恢复执行
标准程序库异常处理
基础
- exception
- logic_error 表示可以被预先检测到的异常
- 这类异常可以避免
- runtime_error 表示难以被预先检测到的异常