一個try可以跟進多個catch語句,用於處理不同情況。當一個try只能匹配一個catch。
我們可以寫多個catch語句,但是不能將父類型的exception的位置寫在子類型的excepiton之前,因為這樣父類型肯定先於子類型被匹配,所有子類型就成為廢話。JAVA編譯出錯。
在try,catch后還可以再跟一子句finally。其中的代碼語句無論如何都會被執行(因為finally子句的這個特性,所以一般將釋放資源,關閉連接的語句寫在里面)。
如果在程序中書寫了檢查(拋出)exception但是沒有對這個可能出現的檢查結果進行處理,那么程序就會報錯。
而如果只有處理情況(try)而沒有相應的catch子句,則編譯還是通不過。
如何知道在編寫的程序中會出現例外呢
1. 調用方法,查看API中查看方法中是否有已檢查錯誤。
2. 在編譯的過程中看提示信息,然后加上相應的處理。
1 package TomText; 2 //使用間接遞歸方法,求斐波那契數列第n項。 3 public class TomText_49 { 4 public static void main(String[] args) { 5 int x1 = 1; 6 int sum = 0; 7 int n = 7; 8 for (int i = 1; i <= n; i++) { 9 x1 = func1(i); 10 sum = sum + x1; 11 } 12 System.out.println("sum=" + sum); 13 } 14 static int func1(int a){ 15 int b; 16 b=func2(a); 17 return b; 18 } 19 static int func2(int b) { 20 if (b> 2) 21 return (func1(b - 1) + func1(b - 2)); 22 else 23 return 1; 24 } 25 26 }