【发布时间】:2010-07-27 03:28:48
【问题描述】:
try-catch 块的放置会影响性能吗?
示例 1:try-catch 块 while 循环
while (true) {
try {
// ... read from a file
} catch (EOFException e) {
break;
}
}
示例 2:try-catch 块环绕 while-loop
try {
while (true) {
// ... read from a file
}
} catch (EOFException e) {
// :P
}
从逻辑上讲,这两个例子是等价的,但我应该更喜欢哪个?
【问题讨论】:
-
两个代码示例不等价。
-
是的,在第二种情况下,您当然不希望
break;要么您的程序无法编译,要么您将跳出错误的循环。 -
正如其他人所指出的,代码示例并不相同。如果你不在一个循环中,你就不能真正从中刹车。无论如何,是什么阻止您对其进行基准测试?这是相当简单的基准代码。
-
@krock:我在等别人说这个;在高层次上,它在我的代码中是等价的。稍后我会发布一个完整的代码示例,但希望你能理解这个问题。 -
@all:第二次中断是复制/粘贴的错误。
标签: java performance try-catch