gpt4 book ai didi

c++ - C++ 错误处理的正确方法是什么

转载 作者:可可西里 更新时间:2023-11-01 16:25:16 26 4
gpt4 key购买 nike

一种是使用 C++ 异常:try catch block 。但是在引发异常时释放动态内存将是一个问题。

第二种是使用C风格:errno变量

第三种是在错误时返回 -1,在成功时返回 0 :)

中型项目应该选择哪种方式,为什么?还有其他更好的方法吗?

最佳答案

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

不,不是。 std::vector<int> v(100);完成。

这里的概念称为范围限制资源管理 (SBRM),也称为资源获取即初始化 (RAII)。基本上,所有资源都包含在某个对象中,该对象将在析构函数中清理资源(始终保证为自动分配的对象运行)。因此,无论该函数是正常存在还是异常存在,析构函数都会运行并清理您的资源。

永远不要在需要明确释放它的地方进行分配,使用容器和智能指针。

关于c++ - C++ 错误处理的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3119197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com