database - 存储库内的异常 : how do you handle them?

标签 database repository-pattern

一个简单的问题,我有兴趣了解您的想法:

通过您的存储库实现,您是否希望在存储库内引发异常并将异常处理留给调用者,或者您更喜欢在存储库内捕获异常,存储异常并返回 false/null?

最佳答案

这要看情况。

我会让异常冒出来吗?绝对地。但我想要这个用于连接失败、命令失败。无论你做什么,不要只是隐藏这些,你需要了解它们。我希望我的应用程序尽快失败,以减少副作用和进一步的损害。

我还记录异常。我使用 Log4net 来帮助解决这个问题。但我喜欢在源头记录异常。我会让它们从那里冒出来。

返回空?如果找不到某些东西(即通过 id 查找某些东西但它不存在),那么我返回 null,而不是异常。但在某些情况下,当这种情况发生时,我会看到抛出一个新的异常。

要点:异常(exception)应该是“异常(exception)”,而不是规则。如果抛出异常,则应该是因为确实出现了问题,您需要修复它。

关于database - 存储库内的异常 : how do you handle them?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/894668/

相关文章:

asp.net-mvc-3 - N 层服务层验证显示表示层中的业务逻辑错误

c# - EF 存储库模式多对多插入

android - 在 Android 上将表从一个数据库插入到另一个数据库的 ORMLite 问题

如果文本太长,Mysql 数据库不会保存文本

mysql - 在mysql中获取特定时间后的下一个可用时间段

django - Django 中可选嵌套模型的方法

范围值之间的MySql查询(单条记录)

asp.net-core - 无法跟踪实体类型 '' 的实例,因为已在跟踪键值为 '{Id: 13}' 的另一个实例

c# - 如何将值传递给 Controller ​​的构造函数?

.net - Asp.net MVC 与 mysql