在C++中,您可以通过继承std::exception
或其他异常类来创建自定义异常类
#include<iostream>
#include<exception>
#include<string>
// 自定义异常类
class CustomException : public std::exception {
public:
// 构造函数
CustomException(const std::string& message) : message_(message) {}
// 获取异常信息的虚函数
virtual const char* what() const noexcept override {
return message_.c_str();
}
private:
std::string message_; // 异常信息
};
int main() {
try {
throw CustomException("这是一个自定义异常");
} catch (const CustomException& e) {
std::cerr << "捕获到自定义异常: " << e.what()<< std::endl;
}
return 0;
}
在这个例子中,我们创建了一个名为CustomException
的自定义异常类,它继承自std::exception
。我们重写了what()
虚函数,以便在抛出异常时提供有关错误的详细信息。在main()
函数中,我们使用try-catch
语句捕获并处理自定义异常。