在我的项目中,我设置了一个错误处理系统,但在我编写代码之前,我设置了一个测试项目以建立一个基础。我有我需要的一切,除了一件事情,那就是error.ToMessage()函数。问题是,我不知道如何以我建造它的方式来设置函数,并且找不到示例。使用枚举的错误处理
这里是我的代码:
#include <iostrea>
enum class ErrorCode {
StreamError,
FileError,
CloseError
};
int main() {
try {
throw ErrorCode::StreamError
} catch (ErrorCode err) {
//std::cout << err.ToMessage() << std::endl; //This is how I would like to output the error.
switch (err) {
case ErrorCode::StreamError:
std::cout << "Stream Error"; //This is how it's currently done.
//...
}
}
}
我怎么能做到这一点,如果这是可能的吗?
创建类ErrorCode(应该从std :: exception继承),而不是枚举。 – poxip
请参阅[本参考资料](http://www.cplusplus.com/doc/tutorial/exceptions/),您可以在标准例外下看到Ed S在答案中所陈述的内容。 –