我用 ASP.NET MVC 构建了一个网站。在内部函数中,我处理逻辑,针对数据库等。在内部,我使用 try catch 来处理意外异常。
因为我需要了解向客户端返回消息的异常,所以我还需要在调用内部函数的控制器中使用 try catch。这对性能很重要吗?
在我的站点中处理异常的最佳方法是什么?
我用 ASP.NET MVC 构建了一个网站。在内部函数中,我处理逻辑,针对数据库等。在内部,我使用 try catch 来处理意外异常。
因为我需要了解向客户端返回消息的异常,所以我还需要在调用内部函数的控制器中使用 try catch。这对性能很重要吗?
在我的站点中处理异常的最佳方法是什么?
每次您尝试捕获异常时,都会付出巨大的代价。理想情况下,您应该只对真正的异常使用 try-catch。如果您使用它来返回消息(作为正常工作流程的一部分),它将对您的性能产生影响(这确实是一种不好的做法)。
例子:
您需要尝试捕获任何外部依赖项:数据库连接、webservice、wcf ......您也可以使用 using子句来实现。
你不需要尝试捕捉你可以用
逻辑控制的东西。例如,用户名和密码 string.Empty(您可以
验证输入数据,而不依赖于 try-catch)。
如果您不打算控制异常或采取行动,请不要捕获并让上层处理异常。采取行动的一个很好的例子是在 finally 子句上释放资源,在 catch 上重新抛出异常。这会影响性能,但也会留下未释放的资源。
异常管理策略在大型项目中很重要。在一个简单的应用程序中不会有什么大不了的,但是如果您要承受巨大的负载,您应该仔细考虑谁将负责处理异常。