gpt4 book ai didi

c++ - c++中异常的使用

转载 作者:搜寻专家 更新时间:2023-10-31 00:43:38 24 4
gpt4 key购买 nike

在我的项目编码中,我必须使用 try catch 方法来查找函数执行状态。

   try
{
//sample code
//calling functions
function1();
function2();
//........
}
catch(//need to catch exception)
{
return failure;
}

我的要求是我必须捕获从 try block 抛出的所有异常

这里我有两个选择,

  1. catch (...)
  2. 捕捉(std::异常)

我认为第一个会捕获所有异常。第二个,std::exception 是我程序中所有其他异常类的基类

   class MyException : public std::exception
{
// All the exceptions that i have use is derived from this class
}.

哪个更好更高效。

这两种方法的工作方式是否相同。帮助我并提出任何方法

最佳答案

在这种情况下,您将按以下顺序处理可能抛出的类型:

catch (MyException& e) {
...
}
catch (std::exception& e) {
...
}
catch (...) {
...
}

这样,您可以先处理特定的错误/类型,然后在前面的处理程序不匹配时回退到弱(或无类型)处理程序。

Which is better and more efficient.

我推荐的顺序最适合按类型处理。 IMO,在这种情况下,效率不是问题,因为正确性优先,希望仅在特殊情况下才会抛出异常。

关于c++ - c++中异常的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10349482/

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