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
此外,还可以创建用户定义的异常,在接下来的章节中学习。
上一篇:
C++字符串
下一篇:
C++ try/catch语句