0

可能重复:
处理异常的最佳方法是什么以及如何在 asp.net 中处理它们

我用 ASP.NET MVC 构建了一个网站。在内部函数中,我处理逻辑,针对数据库等。在内部,我使用 try catch 来处理意外异常。

因为我需要了解向客户端返回消息的异常,所以我还需要在调用内部函数的控制器中使用 try catch。这对性能很重要吗?

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

4

1 回答 1

1

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

例子:

  • 您需要尝试捕获任何外部依赖项:数据库连接、webservice、wcf ......您也可以使用 using子句来实现。

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

如果您不打算控制异常或采取行动,请不要捕获并让上层处理异常。采取行动的一个很好的例子是在 finally 子句上释放资源,在 catch 上重新抛出异常。这会影响性能,但也会留下未释放的资源。

异常管理策略在大型项目中很重要。在一个简单的应用程序中不会有什么大不了的,但是如果您要承受巨大的负载,您应该仔细考虑谁将负责处理异常。

于 2012-11-11T15:10:19.507 回答