關於finally代碼塊是否一定被執行的問題
阿新 • • 發佈:2018-11-10
void log throw style 但是 鏈接 print class 錯誤
一般來說,只要執行了try語句,finally就會執行
但是,有以下幾種情況需要特殊考慮
具體例子看鏈接 點擊這裏
第一點
try代碼塊沒有被執行,意思就是錯誤在try代碼塊之前就發生了。
第二點
1 public class SystemExitAndFinally { 2 3 4 public static void main(String[] args) 5 { 6 7 try{ 8 9 10 System.out.println("in main");11 12 throw new Exception("Exception is thrown in main"); 13 14 //System.exit(0); 15 16 17 } 18 19 catch(Exception e) 20 21 { 22 23 System.out.println(e.getMessage()); 24 25System.exit(0); 26 27 } 28 29 finally 30 31 { 32 33 System.out.println("in finally"); 34 35 } 36 37 } 38 39 40 }
出現了System.exit(0); 一旦出現這個,會退出當前java虛擬機,程序就停止了。
關於finally代碼塊是否一定被執行的問題