可能重复:
What’s the best way to handle the exceptions and how to deal with them in asp.net
我使用ASP.NET MVC构建了一个网站。在内部函数中我处理逻辑,对数据库等。我在内部使用try catch来处理意外异常。
因为我需要知道将消息返回给客户端的异常,所以我需要在调用内部函数的控制器中使用try catch。性能是否很重要?
在我的网站中处理异常的最佳方法是什么?
答案 0 :(得分:1)
每次尝试捕获异常都会产生很大的成本。理想情况下,您应该只使用try-catch来实现异常。如果您使用它来返回消息(作为正常工作流程的一部分),它将对您的性能产生影响(这实际上是一种不好的做法)。
示例:
你需要尝试捕获任何外部依赖:数据库连接, webservice,wcf,...您也可以使用使用 clausule来完成。
你不需要尝试抓住你可以控制的东西
逻辑。例如,用户名和密码string.Empty(你可以
验证输入数据,而不是依赖于try-catch。
如果您不打算控制异常或采取措施,请不要捕捉并让上层处理异常。采取行动的一个很好的例子是最终clausule上的免费资源,重新抛出catch上的异常。这会对性能产生影响,但它也会留下未发布的资源。
异常管理策略在大型项目中非常重要。在一个简单的应用程序中不可能是一个大问题,但如果你要收到巨大的负载,你应该仔细考虑谁将负责处理异常。