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 | 用于处理 C++ 程序中的意外异常。 |
std::bad_cast | 通常由 dynamic_cast 抛出的异常。 |
std::bad_typeid | 通常由 typeid 抛出的异常。 |
std::bad_alloc | 通常由 new 抛出的异常。 |
C++ 异常处理关键字
在 C++ 中,我们使用三个关键字来进行异常处理:
- try
- catch throw
此外,我们还可以创建用户自定义异常,这将在后面的章节中学习。