cpp如何主动抛出一个异常
时间: 2024-09-13 12:11:35 浏览: 31
C++异常重抛出实例分析
在C++中,你可以使用`throw`关键字主动抛出一个异常。通常,异常是在程序运行时遇到未预见的情况时抛出的,以便终止当前的操作并传递控制权到最近的能处理该异常的地方。下面是一个基本的例子,展示了如何创建并抛出一个自定义异常:
```cpp
#include <iostream>
#include <stdexcept> // 引入异常处理头文件
// 自定义异常类
class CustomException : public std::runtime_error {
public:
CustomException(const char* message) : runtime_error(message) {}
};
int main() {
try {
// 尝试可能会失败的操作,这里只是为了演示
if (someConditionThatMayFail()) {
throw CustomException("An error occurred!");
} else {
std::cout << "Success!" << std::endl;
}
} catch (CustomException &e) {
// 捕获并处理自定义异常
std::cerr << "Caught custom exception: " << e.what() << std::endl;
} catch (...) {
// 捕获所有其他未知异常
std::cerr << "Caught unknown exception" << std::endl;
}
return 0;
}
```
在这个例子中,`someConditionThatMayFail()`是一个假设可能返回假的操作。当这个条件失败时,我们通过`throw CustomException("An error occurred!");`主动抛出一个名为`CustomException`的自定义异常,并提供了一个消息。然后,我们可以使用`try-catch`块捕获和处理这个异常。
阅读全文