|
这里所讲的异常(Exception)是程序可能检测到的运行时不正常的情况,如存储空间耗尽、数组越界、被0除等,可以预见可能发生在什么地方,但是无法确知怎样发生和何时发生。
|
|
|
try{…}catch{…}搭配可实现异常的捕获处理。通常将有可能产生异常的程序块放在try中,catch捕获产生的异常并进行处理或重新抛出异常。当程序没有异常时,忽略catch块,程序正常执行。
|
|
|
C++中,异常一般通过类来实现,throw表达式通过调用异常类的构造函数创建一个临时对象,然后把这个临时对象复制到一个被称为异常对象(Exception Object)的存储区中,它保证会持续到异常被处理完。这样抛出异常的一般格式如下:
|
|
|
|
C++标准库提供了一个异常类层次结构,用来报告C++标准库中的函数执行期间遇到的程序不正常情况。这些异常类也可以被用在用户编写的程序中,或被进一步派生来描述程序中的异常。
|
|
|
C++标准库中的异常层次的根类被称为exception,定义在库的头文件中,它是C++标准库函数抛出的所有异常类的基类。
|
|
|
|
|