学科分类
目录
C++基础

异常的概念

所谓异常,是指在程序运行过程中,由于系统条件、操作不当等原因而引起的运行错误。常见的异常包括除零错误、指针访问受保护空间、数据越界、分配空间失败、要打开的文件不存在等。为了确保程序的高容错性,在编程过程中,需要在程序中对这些异常进行处理,防止系统崩溃。

接下来通过一个除零异常的案例来了解系统出现异常的情况,如例1所示。

例1

 1    #include <iostream>
 2    using namespace std;
 3    int main()
 4    {
 5        int m = 10, n = 0; //定义两个整型变量,m将作为被除数,n作为除数
 6        cout << "m / n = " << m / n << endl; //除零,引发异常
 7        return 0;
 8    }

程序运行结果如图1所示。

图1 例1运行结果

例1运行时因为除零异常,导致程序崩溃,因此检测并处理异常是保证系统安全性及健壮性的重要手段,也是程序设计中应重点关注的内容。

一般来说,异常可以分为两类,一类是可预见的异常,一类是不可预见的异常。对于可预见的异常,可以通过在程序结构中添加相应的容错代码进行处理,而不可预见异常则可利用C++中提供的一些内置的语言特性来处理。

C++中异常的产生有其自身的特点。通常程序由多个模块组成,程序中出现异常和处理异常可能分布在不同模块中,C++的异常处理机制将能够处理这种情况。C++异常处理的基本思想是,让一个函数在发现了自己无法处理的错误时抛出一个异常,然后它的直接或者间接调用者能够处理这个问题,实现了问题检测和处理的分离。

点击此处
隐藏目录