阅读量:2
在C++中,标准异常类是从std::exception类派生出来的。要创建自定义异常类,你需要遵循以下步骤:
- 包含头文件:首先,需要包含
头文件,以便使用std::exception类。
#include
- 创建基类:创建一个从
std::exception派生的新类,作为你的自定义异常类的基类。
class MyException : public std::exception {
// ...
};
- 添加构造函数:在自定义异常类中,可以添加一个或多个构造函数。至少,你应该提供一个接受
const char*参数的构造函数,以便将错误信息传递给基类std::exception的构造函数。
class MyException : public std::exception {
public:
// 默认构造函数
MyException() noexcept : message("MyException occurred") {}
// 接受错误信息的构造函数
explicit MyException(const char* message) noexcept : message(message) {}
// 接受格式化字符串的构造函数
explicit MyException(const char* format, ...) noexcept {
va_list args;
va_start(args, format);
int size = std::vsnprintf(nullptr, 0, format, args);
va_end(args);
std::vector<char> buffer(size + 1);
va_start(args, format);
std::vsnprintf(buffer.data(), buffer.size(), format, args);
va_end(args);
message = buffer.data();
}
private:
const char* message;
};
- 使用自定义异常类:现在你可以在代码中抛出和使用你的自定义异常类。
int main() {
try {
throw MyException("An error occurred");
} catch (const MyException& e) {
std::cerr << "Caught exception: " << e.what() << std::endl;
}
return 0;
}
这是一个简单的自定义异常类示例。你可以根据需要扩展它,例如添加其他构造函数、成员变量或方法。
以上就是关于“C++标准异常类的创建方法”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm