例如,我有一个三层结构的API,在DB层中可能会发生事件。
- 尝试从数据库接收客户端,但找不到给定id的客户。
- 尝试通过id删除客户,但在数据库中找不到该id。
- 尝试通过id更新客户,但在数据库中找不到该id。
但是其他两种情况已经棘手了。
如果未找到ID,则通过deleteById函数返回“null”毫无意义。如果删除失败,则可以返回“false”,如果删除成功,则返回“true”。但是,这样我必须将其从数据库层传输到领域层,再传递到表示层。对我来说,抛出异常只是简单的解决方法。
但是,在这种情况下,我也没有产生“意外行为”。就像第一种情况一样,没有什么“出错”的事情。难道没有什么“最佳实践”吗?
你会怎么做?