我正在尝试了解创建的实例的最佳实践struct
。在C ++中,我会将所需的所有内容传递给构造函数,如果struct
无法创建,则会引发异常。在rust中,有人告诉我创建一个返回的方法Result
。但这不是太多的工作吗?为什么不只是fail!()
呢?
另外,如果要返回Result
,这是否意味着所有结构都需要工厂?
的基本构造函数YourStruct
应为称为的静态方法YourStruct::new()
(有关更多信息,请参见Rust样式准则)。
对于返回类型,YourStruct
如果没有问题或使用,则使用fail!()
。使用Option<YourStruct>
,如果有只有一个构造函数没有明显的原因。使用Result<YourStruct, YourStructErr>
它是否将是有益的给调用者知道失败的原因。问题fail!()
在于,它不会给调用者重新尝试的机会,也不会给用户传递一个不错的错误消息,或者使调用者可能想要做的任何事情。在某些情况下,fail!()
可能还可以。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句