您在数据层中使用什么实践来捕获 sql 异常?
有人编写了一个通用 Sql 异常处理程序来捕获最常见的错误吗?
你是怎么做到的,有什么例子吗?
Thanks
仅由底层处理意外异常
数据层(在本例中为实体框架)的异常应仅由业务层处理。然后,业务层可以(如有必要)为表示层 (UI) 引发更高级别的异常。
不要在应用程序的多个层中抛出和捕获异常。这被认为是不好的做法。表示层应该只处理业务层异常。
切勿使用以下方式吞掉异常:
try {} catch (Exception) { // who cares }
尽早捕获预期的异常
始终尝试处理预期的异常(例如FileNotFoundException
) 尽快地。如果你能处理的话,就直接在那里处理。如果没有,则重新抛出自定义异常 http://msdn.microsoft.com/en-us/library/ms229064.aspx并在底层处理它。
重新抛出异常时不要清除堆栈跟踪
隐式捕获并重新抛出(see) http://msdn.microsoft.com/en-us/library/ms182363%28VS.80%29.aspx
try {} catch (Exception) { throw; }
并且没有明确地
try {} catch (Exception ex) { throw ex; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)