java常用的異常處理情況
阿新 • • 發佈:2020-10-31
在c++中我們的異常處理一般是返回一個數值,通過判斷數值來決定執行那一步,但在java中引入了異常類
可以供我們方便的處理異常下面介紹一些java異常類的基本結構:
Throwable是所有異常類的基類,它之下分為:Error與Exception.
其中Error是嚴重錯誤,一般為硬體錯誤,我們一般無法處理,
Exception是程式本身可處理的錯誤,它之下有RuntimeException(執行時的錯誤)
編譯時不做檢查出現問題回來修改程式碼,以及非執行時錯誤編譯期間幾必須處理否則無法編譯。
下面來介紹java常用的異常處理情況:
1.java.lang.NullPointerException
空指標異常,這個經常碰到十分討厭,一般就是使用了未經初始化的物件,比如使用物件陣列時:
Student[] stu=new Student[10]; for(int i=0;i<10;i++) { stu[i].setAge(i); }
我們沒有給陣列的每個物件初始化所以出現了空指標異常,修改後如下:
Student[] stu=new Student[10]; for(int i=0;i<10;i++) { stu[i]=new Student(); stu[i].setAge(i); }
我們可以在使用物件時判斷物件是否為空一次來避免空指標異常。
2.java.lang.ArrayIndexOutOfBoundsException
這個是陣列下標越界異常,也是比較常見的異常,我們在使用陣列尤其是下標是變數時十分容易導致下標越界,
為了避免下標越界,我們可以呼叫length函式,與變數比較,這樣就可以避免下標越界的問題了。
如下面就存在下標越界的問題:
int str[]= {1,2,3,4,5,6,7,8,9}; for(int i=0;i<=10;i++) { System.out.println(str[i]+" "); }
字串也存在下標越界的異常:StringIndexOutOfBoundsException
String str="123456789"; for(int i=0;i<=10;i++) { System.out.print(str.charAt(i)); }
3.