1. 程式人生 > >關於finally代碼塊是否一定被執行的問題

關於finally代碼塊是否一定被執行的問題

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 25
System.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代碼塊是否一定被執行的問題