尽管我读了很多有关异常处理的内容,但我仍然不确定何时抛出异常,何时不抛出异常。
例如,我有一个三层架构的 API,并且在 DB 层中可能会发生事件。
尝试从数据库接收客户,但未找到具有给定 ID 的客户。
尝试通过id删除客户,但在数据库中找不到该id。
尝试通过 ID更新客户,但在数据库中找不到该 ID。
在第一种情况下,我不会抛出异常,因为没有什么真正“出错”。我的存储库函数只是返回“null”来告诉上层没有找到任何内容。但另外两种情况已经很棘手了。
如果找不到 id,deleteById 函数返回“null”,这对我来说没有意义。如果删除不成功,我可以返回“false”;如果删除成功,我可以返回“true”。但随后我必须将其从数据库层通过领域层传输到表示层。抛出异常对我来说很容易。但在这种情况下,我也没有产生“意外行为”。就像第一种情况一样,没有什么“出错”。难道就没有什么“最佳实践”吗?
你会怎么办?
鸿蒙传说
拉风的咖菲猫
元芳怎么了
相关分类