C++异常机制是指:抛出异常--捕获异常--处理异常。(throw-try_catch-solution)
抛出异常:当程序检测到无法处理的错误时,使用 throw 关键字抛出一个异常对象(可以是基本类型、自定义类、标准异常类等)。
捕获异常:搭建的程序中编写了捕获异常的机制,用try-catch块捕获并处理抛出的异常,try包裹了可能抛出异常的代码,catch匹配异常类型并处理。
异常传播:如果当前try-catch块没有捕获到异常,异常会向上一层传播知道被捕获,若始终未捕获,就调用std::terminate()结束程序.
throw异常后,当前函数立刻终止,控制权转移到匹配的catch块。
标准异常头文件
#include <stdexcept>
标准异常类
std::exception
//通过重写what()方法,可以从std::exception标准异常类中继承自定义异常类
注意事项:
- 不要用异常控制程序流程。
- 异常不可替代普通的错误检查。