c – 如何在不使用异常的情况下检查构造函数()中的失败?
发布时间:2020-12-16 10:54:15 所属栏目:百科 来源:网络整理
导读:我正在处理的所有类都有Create()/ Destroy()(或Initialize()/ Finalized())方法. Create()方法的返回值如下所示. bool MyClass::Create(...); 所以我可以从返回值检查实例的初始化是否成功. 没有Create()/ Destroy()我可以在constructor()和析构函数()中做同
我正在处理的所有类都有Create()/ Destroy()(或Initialize()/ Finalized())方法.
Create()方法的返回值如下所示. bool MyClass::Create(...); 所以我可以从返回值检查实例的初始化是否成功. 没有Create()/ Destroy()我可以在constructor()和析构函数()中做同样的工作,但我无法解决下面的问题. 谁能帮我?提前致谢. 我不能使用例外,因为我的公司不喜欢它. class Foo { private: AnotherClass a; public: Foo() { if(a.Initialize() == false) { //??? //Can I notify the failure to the user of this class without using exception? } } ... }; Foo obj; 解决方法
如果您不想使用异常,有两种方法可以让调用者知道构造函数是否成功:
>构造函数接受一个参数/指针,该参数将指向将错误状态传递给调用者的参数. 如果您使用这些技术中的任何一种,请确保您的析构函数可以处理构造函数失败的实例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |