如果请求的实体在数据库中不存在,我应该抛出哪个异常

本文关键字:我应该 异常 不存在 请求 实体 数据库 如果 | 更新日期: 2023-09-27 17:52:40

想象一个方法,它试图检索一个实体,该实体应该存在于数据库中,根据业务逻辑(对于特定情况)。

当我试图通过我的存储库从Db检索它,如果我回到null,我应该抛出哪个异常?(我在想ObjectNotFoundException)

如果请求的实体在数据库中不存在,我应该抛出哪个异常

有人可能会争论是否需要异常;为什么不返回一个空集合或null?

你应该使用的异常类型取决于你在应用程序中使用异常的方式。

您首先要考虑的是,这是一个功能错误(用户是否应该纠正某些错误)还是一个技术错误(开发人员是否犯了错误)。

对于这种情况,我不会抛出异常,而只是处理null返回值。开始使用异常来控制应用程序流并不是一个好主意。

如果实体应该绝对在那里,那么你可以处理业务层的null值并抛出自定义域异常,例如EntityNotFoundException,但是,我不会把那种逻辑放在存储库级别。