gpt4 book ai didi

C++ 捕获枚举值作为异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:14:29 25 4
gpt4 key购买 nike

我正在尝试使用一个外部 C++ 库,该库已将其异常定义为:

enum MY_ERRORS {
ERR_NONE = 0,
ERR_T1,
ERR_T2,
};

然后在代码中抛出异常是这样的:

if(...) {
throw ERR_T1;

作为 C++ 编程的新手,我会做类似的事情:

try {
call_to_external_library();
} catch(??? err) {
printf("An error occurred: %s\n", err);
} catch(...) {
printf("An unexpected exception occurred.\n");
}

我如何确定抛出的是什么?

最佳答案

您需要编写代码来处理 catch block 中的枚举类型:

try {
call_to_external_library();
} catch(MY_ERRORS err) { // <------------------------ HERE
printf("An error occurred: %s\n", err);
} catch(...) {
printf("An unexpected exception occurred.\n");
}

关于C++ 捕获枚举值作为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20951134/

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