2013-03-01 102 views
-4

的更好方法是将近60%到70%的代码用于异常处理并记录这些异常。 其余30至40%是业务逻辑。在我的工作中,编写异常处理代码

有没有办法使用EntLib或任何其他可以在这里应用的概念提取异常处理部分?

问候。

+0

这个问题可能会以“不建设性”的方式关闭。请阅读[常见问题]和[问] – 2013-03-01 11:25:07

+0

为什么?抓住只有日志的块是相当普遍的,但完全没用。想要以更通用的方式解决这个问题是一个非常好的问题。当你知道它时,解决方案不是很难。因此,这个问题应该得票,而不是下调和结束票。 – jgauffin 2013-03-01 12:19:22

回答

1

这真的很容易。

做。不。抓住。那。例外。

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