在C中,我试图捕获所有类型的异常(如C#中的catch(异常)).怎么做而且,怎样才能捕捉到零除异议?
解决方法
catch (...) { // Handle exceptions not covered. }
重要注意事项:
>一个更好的方法是捕获特定类型的异常,您可以从中实际恢复,而不是所有可能的异常.
catch(…)也会捕获某些严重的系统级别的异常(根据编译器的不同而不同),您将无法从中可靠地恢复.以这种方式抓住他们,然后吞咽并继续,可能会导致您的程序中更严重的问题.
>根据你的上下文,使用catch(…)可以接受,提供异常被重新抛出.在这种情况下,您记录所有有用的本地状态信息,然后重新抛出异常以允许它向上传播.但是,如果您选择这条路线,您应该在RAII pattern上阅读.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。