在我的工作中,几乎60%到70%的代码用于异常处理和记录这些异常。 休息30%到40%是商业逻辑。
有没有办法使用EntLib或可在此处应用的任何其他概念提取异常处理部分?
问候。
答案 0 :(得分:1)
这很容易。
执行。不。抓住。那。异常。
http://www.codeproject.com/Articles/125118/Do-NOT-catch-that-exception
问题是所有那些只记录异常的异常块都不是很有用。大多数(如果不是全部)层都有方法允许您以结构化方式记录异常(WCF具有IHErrorHandler
,ASP.NET可以使用自定义IHttpModule
,ASMX可以使用自定义{{1} ,WinForms / WPF有SoapExtension
)。这使得所有其他try / catch / log块完全没用。
如果您能真正处理它们(即履行方法合同),则只捕获异常。也就是说,如果一个方法应该返回Application.ThreadException
只捕获异常,如果你可以处理错误,那么返回一个User
。