以下是Practice&Patterns团队的CodeReview指南.http://msdn.microsoft.com/zh-cn/library/ms998574#scalenetchapt13_topic7(该链接自动导航到"异常"部分.)
他们说当你处理异常时你应该把try/catch块放在循环之外,我想知道为什么?
Fré*_*idi 18
因为try... catch
块的底层实现会增加生成代码的开销,并且将这种开销置于紧密循环中并不是一个好主意,性能方面.
从技术上讲,如果你的循环的所有迭代是"平等",循环应尽快发生异常停止,那么最好把try... catch
块的循环之外.如果循环必须继续,尽管发生异常,您将被迫将块放在循环中,但在这种情况下您可能想要检查您的设计.
Ode*_*ded 10
异常是昂贵的 - 如果将异常逻辑放在循环中,则可能会在循环中的每次迭代中抛出异常.这很容易导致性能问题.
如果将try/catch块放在循环之外,则只需处理一个异常.
归档时间: |
|
查看次数: |
7078 次 |
最近记录: |