检索方法在无法生成返回值时应返回“null”还是应引发异常?[已关闭]

2022-08-31 04:20:20

我正在使用java语言,我有一个方法,如果找到它,它应该返回一个对象。

如果找不到,我应该:

  1. 返回空值
  2. 引发异常
  3. 其他

哪个是最佳做法或成语?


答案 1

如果您总是希望找到一个值,那么如果缺少异常,则抛出异常。例外情况将意味着存在问题。

如果该值可以丢失或存在,并且两者对应用程序逻辑都有效,则返回 null。

更重要的是:你在代码中的其他地方做了什么?一致性很重要。


答案 2

仅当它确实是错误时才引发异常。如果对象不存在是预期行为,则返回 null。

否则,这是一个偏好问题。