小编典典

构造函数何时可以引发异常?

all

构造函数何时可以引发异常?(或者在目标C的情况下:初始者何时应该返回零?)
在我看来,如果对象不完整,构造函数应该失败,从而拒绝创建对象。一、 例如,构造函数应该与其调用者有一个契约,以提供一个函数和工作对象,在该对象上可以有意义地调用哪些方法?这合理吗?


阅读 66

收藏
2022-05-26

共1个答案

小编典典

构造函数的工作是使对象进入可用状态。有基本上有两种观点。
一个团体赞成两阶段建设。构造函数只带来对象进入睡眠状态,拒绝做任何工作。
有一个执行实际初始化的附加函数。我一直不明白种方法背后的原因。
我坚信支持一阶段施工的组,其中对象完全已初始化并在构建后可用。如果单阶段构造函数未能完全初始化对象如果对象无法初始化,则不能允许其存在,因此构造函数必须抛出。

2022-05-26