1. 程式人生 > >_022_捕獲處理異常

_022_捕獲處理異常

====================

異常的處理:     捕獲處理 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
	}
}