我想知道如果我在while循環中使用一個或兩個try catch,這是否會影響性能?如果在Java中循環使用,try catch子句會影響性能嗎?
如下代碼示例:
try {
// some code
....
try {
// some code
...
} catch(Exception e) {
if(e is not catchable) {
//throw it as MyException(e);
}
}
// some code
...
} catch(Exception e) {
if(e is my Exception) {
then do somthing
...
} else { // is other Exception
if(e is not catchable) {
then stop the loop
}
// else catch it and continue
}
}
約if else
如果使用的是什麼,而不是,那麼哪一個是好主意嗎?
如果有人知道請求,請告訴我它是否會影響性能,如果是,那麼爲什麼。
我的問題也許是別人問過的,但我也想知道if-else
如果比try-catch
更好。
編輯:
我知道,如果再拋出Exception
追趕它需要一些時間,但怎麼樣,如果程序進入絲毫也不例外突出部分,如:
// some code
....
// some code
....
// some code
....
謝謝!
嘗試塊本身不會影響性能。捕捉異常會影響性能。所以回答取決於循環內部拋出異常的頻率。 – mkrakhin
谷歌是你的朋友。請檢查這一個 - http://www.precisejava.com/javaperf/j2se/Exceptions.htm – Keerthivasan
忘記性能:這段代碼看起來不可讀,這是一個更糟糕的事情。硬件升級後性能會提高;另一方面,人類的大腦並沒有得到升級(至少還沒有升級),所以可讀性差的問題一直存在。測試這些代碼也是一場噩夢。 – dasblinkenlight