异常:程序运行时候的反常行为,超出函数的正常功能范围,导致出现错误的程序结果。
异常处理机制分为异常检测和异常处理。
一 异常检测
throw 来发出一个异常,可以这么理解:当程序某部分出现不符合规定的情况时候,利用throw来向程序说明:这里出现错误!
方式:
throw 表达式; // 表达式的类型就是抛出的异常类型。 类型可以是任何有效的数据类型,甚至可以是类。
二 异常处理
利用try语句块进行异常处理,具体方式如下;
try
{
被保护的语句段;//意思是被保护语句段里面有可能出现异常
}
catch(异常类型1)
{
处理语句段;
}
catch(异常类型2)
{
处理语句段;
}
例子:
注意点:
1.抛出异常将中止当前函数,并将控制权转移到能处理该异常的代码。
2.在保护程序段,间接或直接调用函数中出现异常,也将会进行处理。
3. 如果在保护段执行期间没有引起异常,跟在try块后的catch子句不执行,相当于忽略catch语句。
4.C++标准库异常继承层次图:
具体的异常描述可以参看书本。