gpt4 book ai didi

c++ - 对许多函数调用进行错误检查

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:16:33 26 4
gpt4 key购买 nike

有时当我在 C++/C 中编程时,我最终会多次调用同一个函数,我想知道检查所有这些调用错误的最有效方法是什么?使用if else 语句会占用大量代码并且看起来很丑陋。我想出了自己的错误检查方法,也许我应该使用更好的方法。

int errs[5] = {0};
errs[0] = functiona(...);
errs[1] = functiona(...);
...
errs[5] = functiona(...);
for (int i = 0; i < 5; i++)
{
if (err[i] == 0)
MAYDAY!_wehaveanerror();
}

注意:我知道使用 trycatch 可能对 C++ 更好,因为它会通过在第一个错误时抛出异常来解决这个问题,但是问题是那就是它与许多返回错误代码的函数不兼容,例如 Windows API。谢谢!

最佳答案

您可以像这样编写一些伪 C++:

struct my_exception : public std::exception {
my_exception(int); /* ... */ };

int main()
{
try
{
int e;
if ((e = function()) != SUCCESS) { throw my_exception(e); }
if ((e = function()) != SUCCESS) { throw my_exception(e); }
if ((e = function()) != SUCCESS) { throw my_exception(e); }
}
catch (my_exception & e)
{
std::cerr << "Something went wrong: " << e.what() << "\n";
}
}

关于c++ - 对许多函数调用进行错误检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10158259/

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