try finally 執行順序

2022-04-06 10:17:44 字數 1124 閱讀 2398

class exc

public class except catch(nullpointerexception e1)catch(arithmeticexception e1)catch(exception e3)finally

system.out.println(res);

return res+3; }

public static void main(string args)

}

輸出:try ……

finnaly occured

mian b= 2

結論: 如果沒有異常, 則執行try 中的**塊,直到 try 中的 return,接著執行 finally 中的**塊,finally 執行完後 , 回到try 中執行 return 。退出函式。

class exc

public class except catch(nullpointerexception e1)catch(arithmeticexception e1)catch(exception e3)finally

system.out.println(res);

return res+3; }

public static void main(string args)

}

輸出:arithmeticexception occured

finnaly occured

0mian b= 3

結論: 如果try 中有異常, 則在異常語句處,跳轉到catch 捕獲的異常**塊, 執行完 catch 後,再執行 finally ,跳出 try{}catch{}finally{} ,繼續向下執行,不會去執行try中 後面的語句。

public class test2 

@suppresswarnings("finally")

static boolean com()finally

}}

輸出 false

public

class

test3

finally

}}

輸出: 

try……  程式退出,不執行 finally

try finally的執行順序

我們都知道,無論怎麼樣finally中 都會被執行,一直我都以為finally的執行順序就以下兩種 現在還有第三種情況,當finally遇上多執行緒時。public class threadutil catch interruptedexception e start finally 當執行fun ...

try finally執行先後?

有這樣的一段 public static void main string args private static int test finally 輸出結果 x 2 t 1 從結果來看,肯定是執行了,也不可能先於try執行,大多數人覺得是後於try執行,也有說是return執行中的時候執行。但是看...

Lua順序 執行順序

nginx下lua處理階段與使用範圍 例如lua shared dict共享記憶體的申請,只有當nginx重起後,共享記憶體資料才清空,這常用於統計。set by lua 設定乙個變數,常用與計算乙個邏輯,然後返回結果 該階段不能執行output api control api subrequest...