您在数据层中使用哪些实践来捕获sql异常? 有没有人写过Generic Sql Exception处理程序,它们会捕获最常见的错误?
你怎么做那里的例子?
由于
答案 0 :(得分:1)
仅处理基础图层的意外异常
您的数据层(在本例中为Entity Framework)中的异常应仅由您的业务层处理。然后,业务层可以为表示层(UI)引发更高级别的异常(如果需要)。
不要在应用程序的多个层中抛出和捕获异常。这被认为是不好的做法。表示层应该只处理业务层异常。
永远不要使用以下方式吞下例外:
try {} catch (Exception) { // who cares }
尽早捕捉预期的例外情况
始终尽快处理预期的例外情况(例如FileNotFoundException
)。如果你能处理它,直接在那里处理它。如果没有,请重新抛出Custom Exception并在底层进行处理。
重新抛出异常时不要清除堆栈跟踪
隐式抓取并重新投掷(see)
try {} catch (Exception) { throw; }
而非明确
<击> 撞击>
<击>try {} catch (Exception ex) { throw ex; }
击> <击> 撞击>