在Entity Framework4中捕获Sql异常?最佳实践是什么?

时间:2010-12-01 10:37:40

标签: entity-framework exception-handling

您在数据层中使用哪些实践来捕获sql异常? 有没有人写过Generic Sql Exception处理程序,它们会捕获最常见的错误?

你怎么做那里的例子?

由于

1 个答案:

答案 0 :(得分:1)

仅处理基础图层的意外异常

您的数据层(在本例中为Entity Framework)中的异常应仅由您的业务层处理。然后,业务层可以为表示层(UI)引发更高级别的异常(如果需要)。

不要在应用程序的多个层中抛出和捕获异常。这被认为是不好的做法。表示层应该只处理业务层异常。

永远不要使用以下方式吞下例外:

try {} catch (Exception) { // who cares }

尽早捕捉预期的例外情况

始终尽快处理预期的例外情况(例如FileNotFoundException)。如果你能处理它,直接在那里处理它。如果没有,请重新抛出Custom Exception并在底层进行处理。

重新抛出异常时不要清除堆栈跟踪

隐式抓取并重新投掷(see)

try {} catch (Exception) { throw; }

而非明确

<击>

<击>
try {} catch (Exception ex) { throw ex; }

<击>