c – 如何在一个catch块中捕获所有类型的异常?

前端之家收集整理的这篇文章主要介绍了c – 如何在一个catch块中捕获所有类型的异常?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在C中,我试图捕获所有类型的异常(如C#中的catch(异常)).怎么做而且,怎样才能捕捉到零除异议?

解决方法

catch (...)
{
   // Handle exceptions not covered.
}

重要注意事项:

>一个更好的方法是捕获特定类型的异常,您可以从中实际恢复,而不是所有可能的异常.
catch(…)也会捕获某些严重的系统级别的异常(根据编译器的不同而不同),您将无法从中可靠地恢复.以这种方式抓住他们,然后吞咽并继续,可能会导致您的程序中更严重的问题.
>根据你的上下文,使用catch(…)可以接受,提供异常被重新抛出.在这种情况下,您记录所有有用的本地状态信息,然后重新抛出异常以允许它向上传播.但是,如果您选择这条路线,您应该在RAII pattern上阅读.

原文链接:https://www.f2er.com/c/115439.html

猜你在找的C&C++相关文章