除了上一節提到的運行時異常和非運行時異常,還有很多常見的異常,例如:
算術異常:ArithmeticExecption
空指標異常:NullPointerException
類別轉換異常:ClassCastException
數組負下標異常:NegativeArrayException
數組下標越界異常:IndexOutOfBoundsException
違反安全原則異常:SecturityException
存取權限異常:IllegalAccessException
檔案已結束異常:EOFException
檔案未找到異常:FileNotFoundException
字串轉換為數字異常:NumberFormatException
操作資料庫異常:SQLException
輸入輸出異常:IOException
方法未找到異常:NoSuchMethodException
……
這一節主要介紹以下五種異常:
空指針異常在編程時也經常遇到,該異常的出現意味著“程序遇上了空指針”,簡單地說就是調用了未經初始化的對像或者是不存在的對象,這個錯誤經常出現在調用在陣列的操作中,一般是剛開始學程式設計的人常犯的錯誤,也就是把陣列的初始化和陣列元素的初始化混淆了。
數組的初始化是對數組分配需要的空間,而初始化後的數組,其中的元素並沒有實例化,依然是空的,所以如果要調用的話,需要對每個元素都進行初始化。
資料型別轉換錯誤,例如:
String temp=abc;
如果設為int temp就會報錯,因為它們型別不一樣,但是設為object temp就可以,因為object是它們的父類別。
我們在操作數組的時候經常會遇到這個異常,該異常的意思是“數組下標越界”,現在程序中大多都有對數組的操作,因此在調用數組的時候一定要認真檢查,看自己調用的下標是不是超出了數組的範圍。一般來說,直接用常數當下標呼叫不太容易出現這樣的錯誤,但用變數當下標呼叫就容易出現這樣的錯誤,還有一種情況,是程式中定義的陣列的長度是透過某些特定方法決定的,不是事先聲明的,這個時候,最好先查看數組的長度,以免出現這個異常。
該異常的解釋是“沒有訪問權限”,當應用程式要調用一個類,但當前的方法對該類沒有訪問權限便會出現該異常,在程序中使用package的情況下要注意這個異常。
一般讀寫檔會出現這個異常,比如你想從磁碟上讀一個文件到你寫的程式,如果硬碟上沒有這檔,Java虛擬機就會報這個異常。