您在数据层中使用什么方法来捕获SQL异常? 是否有人编写了通用的SQL异常处理程序,可以捕获最常见的错误?
您是如何做到的?有没有相关的示例?
谢谢。
您在数据层中使用什么方法来捕获SQL异常? 是否有人编写了通用的SQL异常处理程序,可以捕获最常见的错误?
您是如何做到的?有没有相关的示例?
谢谢。
只有底层处理意外异常
你的数据层(例如Entity Framework)引发的异常应仅由业务层处理。如果必要,业务层可以为表示层(UI)引发更高级别的异常。
不要在应用程序的多个层之间抛出和捕获异常。这被认为是不良实践。表示层应仅处理业务层异常。
永远不要使用以下方式吞噬异常:
try {} catch (Exception) { // who cares }
尽早捕获预期的异常
始终尝试尽早处理预期的异常(例如FileNotFoundException
)。如果您可以处理它,请直接在那里处理。如果不能,则重新抛出自定义异常并在底层处理它。
重新抛出异常时不要清除堆栈跟踪
隐式地捕获并重新抛出(见)。
try {} catch (Exception) { throw; }
并不是显式地
try {} catch (Exception ex) { throw ex; }