【发布时间】:2012-03-16 23:18:44
【问题描述】:
如果有以下代码:
data.SaveChanges();
(数据是ObjectContext)
MSDN doc 已将OptimisticConcurrencyException 列为已抛出。这很好,但我知道UpdateException 也可以被抛出(可能还有其他人)。我如何知道一个方法可以抛出哪些异常?
我不想捕获Exception,因为我只想捕获我知道我可以以某种方式处理的异常。
一般来说,这不仅仅是上面的例子。必须有某种方法可以知道“内置”.NET 方法正在抛出哪个异常。
【问题讨论】:
-
一些不错的阅读 stackoverflow.com/a/264755/555547 ;]
-
MSDN 库列出了您可能想要捕获的异常。可能会引发另一个异常,您不想想要捕获它们,因为它们总是意味着发生了一些您无法从中恢复的非常糟糕的事情。与 UpdateException 一样,您无法从损坏的数据库中恢复。
-
Hans:感谢您对 MSDN 文档的解释 - 澄清了一些事情。
标签: c# .net exception-handling try-catch