我认为这是一个简单但重要的问题。
我正在编写一个带有函数的类:
public MyClass myFunction(MyClass mc) { ... }
在这个函数中,它改变了 mc 的一些状态并将其返回。我知道这没有必要,因为 mc 已经到位。我要返回 MyClass 的原因是使用 null 表示更新失败。
我可能会将返回类型更改为布尔值并使用 false 来指示错误:
public boolean myFunction(MyClass mc) { ... }
但我记得我很久以前读过一篇文章说这不是一个好习惯(虽然我忘记了细节和原因)。
我当然可以使用异常来表示错误:
public void myFunction(MyClass mc) throws MyException { ... }
但我觉得这太重了。
我个人的观点是,如果错误在系统范围内有意义,那么应该使用异常。如果错误只对调用者和函数有意义,则不应使用异常。但是在这种情况下我应该使用 null 或 false 来指示错误吗?
您认为最佳做法是什么?请让我知道你的意见。
非常感谢。