try catch放在迴圈內外的區別

2021-06-10 19:35:17 字數 548 閱讀 2691

如下2段**

public void test1() 

catch (interruptedexception e)

}

}

public void test2()

}catch (interruptedexception e)

}

test1是將try catch放在了迴圈內,test2是將try catch放在了迴圈個。

二者的區別是如果test2中迴圈內容丟擲異常的話,就直接跳出了迴圈,而test1在執行中丟擲異常會繼續迴圈。

至於二者選擇哪種方式更好就要看你迴圈的內容了,①如果是為了計算乙個結果的話,其中乙個遇到異常那麼即使繼續計算後面的,最後的結果也不會正確,那麼我們就需要按test2的方式編碼;②如果是乙個伺服器執行緒維持一直處理其它執行緒產生的資料,為了保證系統的穩定性,就必須按test1的方式來編碼。

另外有些人喜歡比較效能,我覺得沒必要比較效能。如果需求是第②種情況沒的選,如果是第①種情況,try catch寫在外面,既美觀,又易懂,效能肯定不比放在裡面差。

trycatch放在for迴圈的裡面還是外面好

try放在for迴圈裡面和外面的區別是什麼呢?先看看下面的 的區別 public class test catch exception e public void test2 catch exception e public static void main string args throws e...

內外迴圈程式設計規範

最近聽朋友偶爾聊起了這個話題,說是內層迴圈和外層迴圈次數相差比較大的情況下次數多的放在內還是外迴圈,哪個更優?舉個栗子 乙個巢狀迴圈,乙個迴圈100次,乙個迴圈1w次,那麼是外層100呢還是1w呢?哪個更好?答案是外層100,內層1w更優。目的 減少cpu迴圈的切入次數 這裡簡單說下吧,在計算機程式...

for迴圈內外定義變數的區別

直接上 var attrouter object var objouter object var indexouter int var objinner object for var i int 0 i 5 i for var j int 0 j 5 j var indexinner int j a...