检索方法是否应该在无法产生返回值时返回“null”或抛出异常?

新手上路,请多包涵

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

如果没有找到,我应该:

  1. 返回空
  2. 抛出异常
  3. 其他

哪个是最佳实践或成语?

原文由 Robert Deml 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 695
2 个回答

如果您总是期望找到一个值,那么如果它丢失则抛出异常。异常意味着存在问题。

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

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

原文由 Ken 发布,翻译遵循 CC BY-SA 2.5 许可协议

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

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

原文由 Carlton Jenke 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题