您如何处理应用程序中的数据库异常?
您是在将数据传递给 DB 之前尝试验证数据还是仅仅依赖 DB 模式验证逻辑?
您是否尝试从某种数据库错误(例如超时)中恢复?
以下是一些方法:
- 在将数据传递给数据库之前验证数据
- 将验证留给 DB 并正确处理 DB 异常
- 验证双方
- 验证业务逻辑中一些明显的约束,并将复杂的验证留给 DB
你用什么方法?为什么?
更新:
我很高兴看到越来越多的讨论。
让我们尝试总结社区的答案。
建议:
- 验证双方
- 检查客户端的业务逻辑约束,让 DB从 hamishmcn进行完整性检查
- 尽早检查以避免ajmastrean打扰 DB
- 尽早检查以改善Will的用户体验
- 保留数据库交互代码以简化hamishmcn的开发
- 对象关系映射(NHibernate、Linq 等)可以帮助您处理来自 ajmastrean的约束
- Seb Nilsson出于安全原因需要客户端验证
你还有什么要说的吗?这将转换为验证特定问题。我们缺少核心,即“与数据库相关的错误最佳实践”,哪些要处理,哪些要冒泡?