管理例外

时间:2012-11-11 14:47:19

标签: c# asp.net-mvc try-catch

  

可能重复:
  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。性能是否很重要?

在我的网站中处理异常的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

每次尝试捕获异常都会产生很大的成本。理想情况下,您应该只使用try-catch来实现异常。如果您使用它来返回消息(作为正常工作流程的一部分),它将对您的性能产​​生影响(这实际上是一种不好的做法)。

示例:

  • 你需要尝试捕获任何外部依赖:数据库连接, webservice,wcf,...您也可以使用使用 clausule来完成。

  • 需要尝试抓住你可以控制的东西 逻辑。例如,用户名和密码string.Empty(你可以
    验证输入数据,而不是依赖于try-catch。

如果您不打算控制异常或采取措施,请不要捕捉并让上层处理异常。采取行动的一个很好的例子是最终clausule上的免费资源,重新抛出catch上的异常。这会对性能产生影响,但它也会留下未发布的资源。

异常管理策略在大型项目中非常重要。在一个简单的应用程序中不可能是一个大问题,但如果你要收到巨大的负载,你应该仔细考虑谁将负责处理异常。