gpt4 book ai didi

c++ - 使用枚举处理错误

转载 作者:行者123 更新时间:2023-11-27 23:01:09 25 4
gpt4 key购买 nike

在我的项目中,我正在设置一个错误处理系统,但在我输入代码之前,我设置了一个测试项目以获得构建的基础。我拥有我需要的一切,除了一件事,那就是 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.
//...
}
}
}

如果可能的话,我该怎么做?

最佳答案

您需要的不仅仅是一个enum 来完成这个。您可以做的是创建您自己的异常类型,它继承自 std::exception。此类将有一个 ErrorCode 成员(对于您的枚举)以及一个 what() 方法,该方法返回一个 string(已经存在你在 std::exception).

关于c++ - 使用枚举处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27552936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com