_022_捕獲處理異常
阿新 • • 發佈:2018-12-10
====================
異常的處理: 捕獲處理 try{ 可能發生異常的程式碼 }catch(捕獲的異常型別 變數名) 如果捕獲了父類的異常,那麼子類就捕獲不了了 { 異常的處理程式碼 }
public class Test { public static void main(String[] args) { div(4, 0); // 算數異常,因為0不能當除數 } public static void div(int a, int b) { // int c=a/b;//程式在這裡出錯,那麼下面的程式碼System.out.println("C=="+c);就不會再執行 // 那麼就需要異常處理 int c = 0; try { c = a / b; System.out.println("這句話能執行嗎");// 不能執行,異常後面的程式碼都不執行,直接跳到catch } catch (ArithmeticException e)// 出現了什麼異常,就申請什麼異常型別,可以寫Exception捕獲所有異常 {// 如果異常型別錯誤,就捕獲不了,那麼下面的 System.out.println("C=="+c);依然執行不了 System.out.println("e==" + e.toString()); } // 如果還有一個異常型別,那麼就在這裡再寫一個catch System.out.println("C==" + c);// 本來這裡是不會執行的,但是上面加了捕獲異常 // 因為出現了異常下面的程式碼就不會執行,但是我們把異常捕獲了,那麼這句話就能執行 // 只不過結果可能不是我們想要的結果,但有時候結果不重要,重要的是能執行下去,比如sleep } }