異常學習筆記ExceptionDemo1.java

 

/*
異常:就是程序在運行時出現不正常情況。
異常由來:問題也是現實生活中的一個具體的事物,也可以通過java的類的形式進行描述。並封裝成對象。
    其實就是java對不正常情況進行描述後的對象體現。

對於問題的劃分:兩種:一種是嚴重的問題,一種非嚴重的問題

對於嚴重的,java通過Error類進行描述。
     對於Error一般不編寫針對性的代碼對其進行處理

對於非嚴重的,java通過Exception類進行描述
    對於Exception可以使用針對性的處理方式進行處理

無論Eorror或者Exception都具有一些共性內容
比如:不正常情況的信息,引發原因等。
Throwable
  |--Error
  |--Exception

 

2.異常的處理

java 提供了特有的語句進行處理
try
{
 需要被檢測的代碼;
}
catch(異常類 變量)
{
 處理異常的代碼;(處理方式)
}
finally
{
 一定會執行的語句;
}

3.對捕獲到的異常對象進行常見方法操作。
 String getMessage():獲取異常信息

 

在函數上聲明異常。
便於提高安全性,讓調用者進行處理。不處理編譯失敗。

 

對於多異常的處理。

1.聲明異常時,建議聲明更爲具體的異常。這樣處理的可以更具體。
2.對方聲明幾個異常,就對應有幾個catch塊。不要定義多餘的catch塊
  如果多個catch塊中的異常出現繼承關係,父類異常catch塊放在最下面。


建議在進行catch處理時,catch中一定要定義具體處理方式
不要簡單定義一句  e.printStackTrace();
也不要簡單的書寫一條輸出語句


*/

class Demo
{
 public int div(int a,int b)throws ArithmeticException,ArrayIndexOutOfBoundsException//在功能上通過throws的關鍵字聲明瞭該功能有可能會出現問題

 {
  int[] arr=new int[a];
  System.out.println(arr[4]);
  return a/b;
  
 }

}
class  ExceptionDemo1
{
 public static void main(String[] args) //throws Exception
 {
  Demo d=new Demo();
  try
  {
   int x=d.div(4,1);
   System.out.println("x="+x);
  }
  catch (ArithmeticException e)
  {
   System.out.println(e.toString());
   System.out.println("被零除啦!!!");
  }
  catch (ArrayIndexOutOfBoundsException e)
  {
   System.out.println(e.toString());
   System.out.println("角標越界啦!!!");
  }
  catch (Exception e)
  {
   System.out.println("hah"+e.toString());
  }
  System.out.println("over");
  
 }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章