关于.net:尝试catch子句会影响性能吗?

does try catch clause affect performance?

如果try块中没有异常,try/catch是否会影响性能?埃多克斯1〔2〕怎么样?


try/catchtry/catch/finally都不会在很大程度上影响性能。当然,正在创建的异常确实会影响性能(即是否捕获它们)

当不抛出异常时,try/catch块是否会损害性能?


try/catch只会在引发异常时影响性能(但这仍然不是因为try/catch,而是因为正在创建异常)。

try/catch/finally没有在try/catch上增加任何额外的开销。


创建异常确实会导致一些性能成本。一般来说,只有当代码中的某一点上确实需要处理某个异常时,才希望捕获该异常。

请注意,为了在潜在故障后关闭资源或执行其他必要的任务,您可以简单地使用try/finally块。finally仍将按其应该的方式执行,您只是在过程中没有捕获到异常。相反,你让它冒泡到它需要去的任何地方。


不,当不引发异常时,try/catch块不会产生任何性能成本。

在这里阅读一篇关于此的伟大的msdn文章:http://msdn.microsoft.com/en-us/library/ms973839.aspx