一个函数如何throw一个字符串
时间: 2024-11-03 13:22:18 浏览: 7
在 C++ 中,如果你想在一个函数里抛出一个字符串异常,你可以使用 `throw` 关键字,配合一个字符串类型(通常是 `std::string`)创建一个异常对象。这里是一个简单的例子:
```cpp
#include <iostream>
#include <stdexcept> // 引入 std::runtime_error 和它的派生类
// 定义一个自定义异常类型,继承自 std::runtime_error
class CustomException : public std::runtime_error {
public:
CustomException(const std::string& message) : runtime_error(message) {}
};
void throw_string_exception() {
try {
// 假设函数执行失败,抛出一个包含错误信息的异常
if (/* 某个条件不满足 */) {
throw CustomException("这是一个自定义的错误消息");
}
} catch (const CustomException& e) {
// 在 catch 块处理异常
std::cerr << "Caught exception: " << e.what() << '\n';
}
}
int main() {
throw_string_exception();
return 0;
}
```
在这个例子中,`CustomException` 是一个自定义的异常类型,它继承自 `std::runtime_error`,这意味着它可以自动获得 `what()` 函数,该函数返回异常对象的消息内容。
当你调用 `throw CustomException("这是一个自定义的错误消息");` 时,如果函数中的条件不满足,就会抛出这个异常。然后,在 `catch` 块中,你可以处理这个异常,通常打印错误信息或采取其他恢复措施。
阅读全文