微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C中错误处理的正确方法是什么?

一个是使用C异常:尝试catch块.但是,当引发异常时,释放动态内存将是一个问题.

二是使用C风格:errno变量

第三个只是返回-1错误,0成功:)

应该选择哪一种中型项目,为什么?任何其他更好的方法

解决方法

But freeing dynamic memory will be an issue when an exception is raised.

不,这不对.的std ::矢量< INT> V(100);完成. 这里的概念被称为范围绑定资源管理(SBRM),也称为资源获取初始化(RAII)的更常见(和尴尬)名称.基本上,所有资源都包含在一些对象中,这些对象将清理析构函数中的资源(它始终保证为自动分配的对象运行).因此,无论函数是否正常存在或通过异常,都将运行析构函数并清理资源. 不要做一个分配,你需要明确释放它,使用容器和智能指针.

原文地址:https://www.jb51.cc/c/115007.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐