1、概述
异常是指存在于运行时的反常行为,这些行为超出了函数正常功能的范围。当程序的某部分检测到一个它无法处理的问题时,需要用到异常处理。此时,检测出问题的部分应该发出某种信号以表明程序遇到了故障,无法继续下去了,而且信号的发出方无须知道故障将在何处得到解决。一旦发出异常信号,检测出问题的部分也就完成了任务。
C++语言中,异常处理包含了一下三个部分:
1、throw表达式,异常检测部分使用了throw表达式来表示它遇到了无法处理的问题。我们说throw引发了异常。
2、try语句块,异常处理部分使用try语句块处理异常。try语句块以关键字try开始,并以一个或多个catch子句结束。try语句块中代码抛出的异常通常被某个catch子句处理。catch子句也被称为异常处理代码。
3、一套异常类,用于在throw表达式和相关catch子句之间传递异常的具体信息。
2、详细介绍及使用
throw表达式引发一个异常。使用时包含throw关键字,然后紧跟抛出的异常类型。如下:
throw errtype; //抛出一个异常,抛出的异常类型为 errtype,其实就是异常类
try语句块的通用形式是:
try
{
program-statements //要捕捉异常的代码
}
catch(errtype1)
{
...... //对errtype1类型的异常,处理函数
}
catch(errtype1)
{
...... //对errtype2类型的异常,处理函数
}
关键字try之后,紧跟一个块,使用花括号括起来的语句,是程序的正常逻辑。try用来捕捉正常逻辑里面运行时抛出的异常。
跟在try块之后的是一个或多个catch子句。catch子句包含三个部分:关键字catch、括号内的对象的声明、以及