在我的工作中,将近 60% 到 70% 的代码用于异常处理和记录这些异常。剩下 30% 到 40% 是业务逻辑。
有没有办法使用 EntLib 或任何其他可以在这里应用的概念来提取异常处理部分?
问候。
在我的工作中,将近 60% 到 70% 的代码用于异常处理和记录这些异常。剩下 30% 到 40% 是业务逻辑。
有没有办法使用 EntLib 或任何其他可以在这里应用的概念来提取异常处理部分?
问候。
这真的很容易。
做。不是。抓住。那。例外。
http://www.codeproject.com/Articles/125118/Do-NOT-catch-that-exception
问题是所有那些只记录异常的异常块都不是很有用。大多数(如果不是全部)层都有方法允许您以结构化方式记录异常(WCF 有IHErrorHandler
,ASP.NET 可以使用自定义IHttpModule
,ASMX 可以使用自定义SoapExtension
,WinForms/WPF 有Application.ThreadException
)。这使得所有其他 try/catch/log 块完全无用。
只有在你能真正处理它们时才捕获异常(即履行方法契约)。也就是说,如果一个方法应该User
只返回一个捕获异常,如果你可以处理错误并且这样做返回一个User
。