给出:
type A struct{}
func New() *A {
return &A{}
}
处理构建过程中发生的错误的基于最佳实践的建议是什么?
现实情况是根据某些无效的time.Time
为特定的time.Location
构建location string
。
编辑:
这不仅仅是“构造函数应该返回错误”。我想讨论替代方法。
例如,如果它不返回错误,则也许我们不允许将值传递到可能导致错误的构造函数中。
我想考虑不同方法的优点。
编辑2:
可能的方法:
编辑3:
评分标准
答案 0 :(得分:-3)
根据我看到的投票/评论,我将自己回答并结束。如果有人想完善我的答案,请发表评论。
例如,不接受需要解析为time.Time
的字符串日期。相反,需要将time.Time
的实例作为参数。
“将错误推迟到调用更高版本的函数之前”
这是可能的,但这不是一个好主意。甚至有人会说邪恶。