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 |
此异常通常由新的抛出。 |
C++异常处理关键字
在C++中,我们使用3个关键字执行异常处理:
try
catch,
throw
此外,我们可以创建用户定义的异常,这将在下一章中学习。