2011-06-08 98 views
2

在使用Response.Redirect()时遇到了一些未处理的异常,我读了它,并且似乎有几个人推荐使用ApplicationInstance.CompleteRequest()来代替,以避免每次重定向时出现未处理的ThreadAbortException,从而避免性能降低。但是,假设你捕获了异常,而不是像下面...吞咽异常移除抛出它的性能打击吗?

try 
{ 
    response.Redirect("Default.aspx", false); 
    response.End(); 
} 
catch (ThreadAbortException) 
{ 
    // Do nothing 
} 

这是否会删除性能命中异常时现吞噬?

+3

如果有疑问,请尝试分析它。我的怀疑是,捕捉异常将无法改善性能。此外,您无法真正捕获ThreadAbortException,因为它将自动重新安排在catch块的末尾。 – Douglas 2011-06-08 00:14:48

回答

5

异常仍在抛出,所以生成异常并捕获它的所有开销仍然存在。