【问题标题】:Which type exception checking required in linq inside try/catch block while performing CRUD OPERATION执行 CRUD 操作时,在 try/catch 块中的 linq 中需要哪种类型的异常检查
【发布时间】:2009-09-13 06:20:29
【问题描述】:

在执行 CRUD(创建、读取、更新、删除)操作时,在 try/catch 块中的 linq 中需要哪种类型的异常检查

例如:

try {
    db.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException e) {
    foreach (ObjectChangeConflict occ in db.ChangeConflicts) {
        // All database values overwrite current values.
        occ.Resolve(RefreshMode.OverwriteCurrentValues);
    }
}

【问题讨论】:

  • 您是在使用 Linq-to-Sql、Linq-to-Entities 还是其他什么东西?谢谢!

标签: asp.net linq exception-handling crud


【解决方案1】:

如果没有很好地记录在正常用例场景中会引发哪些异常(我不能说在你的情况下会引发什么异常),我建议尝试通过执行来打破它您知道将失败的操作,然后将抛出的异常添加到 try/catch 块。

如果有的话,尝试破坏自己的代码是一个很好的调试练习,因为它暴露了可能发生的问题,让您有机会优雅地恢复。

【讨论】:

  • 最终,这些异常将从 DbException 扩展(显式或组合为 InnerException)。我建议捕获此异常,但我们可能希望在数据库关闭与 SQL Select 语句失败时做出不同的响应。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
相关资源
最近更新 更多