[問題] SCJP 6題庫126題:try-catch-finally

作者: Su22 (裝配匠)   2014-08-31 21:27:18
大家好
我想問這題
31. //some code here
32. try{
33. //some code here
34. }catch(Some Exception se) {
35. //some code here
36. }finally{
37. //some code here
38. }
Under which three circumstances will the code on line 37 be executed? (Choose
three.)
A. The instance gets garbage collected.
B. The code on line 33 throws an exception.
C. The code on line 35 throws an exception.
D. The code on line 31 throws an exception.
E. The code on line 33 executes successfully
答案BCE
B跟E沒什麼疑問

1.C在34行catch住exception並執行35行時若又發生錯誤
不會中斷整個執行並將錯誤的exception先丟出嗎?
2.選項A是幹什麼的?感覺跟這題沒什麼關係?
作者: kuangjc5566 (匡匡56)   2014-09-01 02:55:00
A選項來亂的。若35行throw exception,還是會執行 finally區塊,然後更外層的try會嘗試接這個exception。finally 區塊除非遇到System.exit(),不然finally區塊都會被執行。
作者: Su22 (裝配匠)   2014-09-01 23:34:00
感謝大大!

Links booklink

Contact Us: admin [ a t ] ucptt.com