異常的回想

程序錯誤

-編譯錯誤(compilation error

-運行時錯誤(rentime erroe)

-邏輯錯誤(logic error)

異常(exception:程序運行時出現的非正常情況,它中斷正常的程序控制流

Java給程序員提供了處理的運行時錯誤的功能,即異常處理

異常類:用java累表示異常情況,可擴展,可重用

java中,處理異常的5個關鍵字:

   -try:捕捉異常

   -catch:處理異常

   -finally:不管try塊中的代碼如何退出,都將執行finally

   -throw:拋出異常

   -throws:聲明異常

一個try後面可以跟多個catch

Try後面只能有一個finally

Tryfinally之間可以沒有catch

Throws:如果一個方法不想處理異常,就可以通過throws語句講異常拋向上級調用方法。

 

Throw:用於拋出異常,throw語句拋出的對象比較是java.lang.Throwable類或者子類的實例

 

Finally語句不被執行的唯一情況:

Sysem.exit(0);用於立即終止程序的運行

FinallySystem.out.println(“without execute”);不會被執行

因此System.out,.println(execute);也不被執行

運行時異常

RuntimeException類及其子類都成爲運行時異常。

特點:java編譯器不會檢查它

當程序可能出現異常,即使沒有try-catch或者throws,編譯也會通過

 

Return x/y;y0,拋出ArithmeticException

區分運行時異常和受檢查異常

運行時異常表示無法讓程序恢復運行的異常(原因:通常是由於執行了錯誤的操作)

例如:出現數組越界,需要修改代碼,因此出現運行時異常,建議終止程序,java編譯器不檢查這種異常

受檢查異常表示程序可以處理的異常,如果拋出異常的方法本身不能處理它,那麼方法調用者應該去處理它,從而使程序恢復運行,不至於終止程序。

如果一個方法可能出現受檢查異常,要麼要try-catch語句捕獲,要麼用throws子句聲明將它拋出,否則會導致編譯錯誤

 

常見異常:

Arithmeticexception:數學異常

 如:inta,b;

     a=0;

     b=50/a;

IndexOutOfBoundException:數組越界異常

 如:public void addNum(int[] a){

Int b=0;

For(int i=0;i<=a.lenght;i++){

B=b+a[i];

}

}

便出現異常

NullPointerException:空指針異常

例如:

Date today=null;

System.out.println(today.toString());

 

SQLException :SQL異常

例如:

Ps=con.prepareStatement(“select * from user where userid=?”);

Rs=ps.executeQuery();

獲取異常信息

Exception提供一些方法以便獲取異常信息

toString()

getMessage()

printStackTrace()

通過擴展Exception或其子類來創建自己的異常類

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