位置:首页 > 高级语言 > C++教程 > C++异常处理

C++异常处理

C++中的异常处理是处理运行时错误的过程。 我们执行异常处理,以便即使在运行时出现错误后也能保持正常的应用程序流转。

在C++中,异常是在运行时抛出的事件或对象。 所有异常都派生自std::exception类。 它是一个可以处理的运行时错误。 如果我们不处理异常,它就会打印异常消息并终止程序。

异常处理的优点

异常处理保持应用程序的正常流转。 在这种情况下,即使在异常之后仍执行代码的其余部分。

C++异常类

在C++中,标准异常在exception类中定义,我们可以在程序中(直接或继承)使用它。 父子类层次结构的排列如下所示:

C++中的所有异常类都是从std::exception类派生的。 下面来看看看C++常见异常类的列表。

异常 描述
std::exception 它是所有标准C++异常的异常和父类。
std::logic_failure 这是一个异常,可以通过读取代码来检测。
std::runtime_error 这是一个异常,不能通过读取代码来检测。
std::bad_exception
std::bad_cast 这个异常通常由dynamic_cast抛出。
std::bad_typeid 这个异常通常由typeid抛出。
std::bad_alloc 这个异常通常由new抛出。

C++异常处理关键字

在C++中,我们使用3个关键字来执行异常处理:

  • try
  • catch
  • throw

此外,还可以创建用户定义的异常,在接下来的章节中学习。