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)的更常见(和尴尬)名称.基本上,所有资源都包含在一些对象中,这些对象将清理析构函数中的资源(它始终保证为自动分配的对象运行).因此,无论函数是否正常存在或通过异常,都将运行析构函数并清理资源. 不要做一个分配,你需要明确释放它,使用容器和智能指针.

相关文章

/** C+⬑ * 默认成员函数 原来C++类中,有6个默认成员函数: 构造函数 析构函数 拷贝...
#pragma once // 1. 设计一个不能被拷贝的类/* 解析:拷贝只会放生在两个场景中:拷贝构造函数以及赋值运...
C类型转换 C语言:显式和隐式类型转换 隐式类型转化:编译器在编译阶段自动进行,能转就转,不能转就编译...
//异常的概念/*抛出异常后必须要捕获,否则终止程序(到最外层后会交给main管理,main的行为就是终止) try...
#pragma once /*Smart pointer 智能指针;灵巧指针 智能指针三大件//1.RAII//2.像指针一样使用//3.拷贝问...
目录&lt;future&gt;future模板类成员函数:promise类promise的使用例程:packaged_task模板类例程...