C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 尝试/捕捉整个程序大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我习惯于按如下方式构建我的C项目:

int main(int ac,char* av[])
{
    try
    {
       Object    foo;

       foo.run()
       /* ... */
    }
    catch (const std::exception& E)
    {
       std::cerr << e.what() << std::endl;
       return 1;
    }
    catch (...)
    {
       std::cerr << "UnkNown error." << std::endl;
       return 1;
    }

    return 0;
}

我想知道这是一个好习惯,还是在“预期”产生错误的小块代码上使用try / catch块更好?

解决方法

如果要控制未处理的异常处理方式(如果它们达到顶级),则可以将整个程序放入这样的顶级异常处理程序中.

但是有一个不利之处:标准的崩溃行为是抢先的,这可能意味着你没有得到崩溃转储,因此缺少事后调试的关键信息.

此外,它们可能无法达到顶级,但会导致std :: unexpected()和调用std :: terminate().

因此,即使您想做自己的事情,std::set_terminate也可能会更好.

虑做自己的事情然后像正常一样崩溃(你不能用你的全局异常处理程序).

大佬总结

以上是大佬教程为你收集整理的c – 尝试/捕捉整个程序全部内容,希望文章能够帮你解决c – 尝试/捕捉整个程序所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。