C++ 异常机制

14 阅读1分钟

C++异常机制是指:抛出异常--捕获异常--处理异常。(throw-try_catch-solution)

抛出异常:当程序检测到无法处理的错误时,使用 throw 关键字抛出一个异常对象(可以是基本类型、自定义类、标准异常类等)。 捕获异常:搭建的程序中编写了捕获异常的机制,用try-catch块捕获并处理抛出的异常,try包裹了可能抛出异常的代码,catch匹配异常类型并处理。 异常传播:如果当前try-catch块没有捕获到异常,异常会向上一层传播知道被捕获,若始终未捕获,就调用std::terminate()结束程序.

throw异常后,当前函数立刻终止,控制权转移到匹配的catch块。

标准异常头文件

#include <stdexcept>

标准异常类

std::exception
//通过重写what()方法,可以从std::exception标准异常类中继承自定义异常类

注意事项:

  1. 不要用异常控制程序流程。
  2. 异常不可替代普通的错误检查。