異常處理 java
阿新 • • 發佈:2018-12-15
Throwable是一個怎樣的類?
- 答:Throwable是java.lang包中一個專門用來處理異常的類。它有兩個子類,即Error 和Exception,它們分別用來處理兩組異常。
- Error用來處理程式執行環境方面的異常,比如,虛擬機器錯誤、裝載錯誤和連線錯誤,這類異常主要是和硬體有關的,而不是由程式本身丟擲的。
- Exception是Throwable的一個主要子類。Exception下面還有子類,其中一部分子類分別對應於Java程式執行時常常遇到的各種異常的處理,其中包括隱式異常。比如,程式中除數為0引起的錯誤、陣列下標越界錯誤等,這類異常也稱為執行時異常,因為它們雖然是由程式本身引起的異常,但不是程式主動丟擲的,而是在程式執行中產生的。Exception 子類下面的另一部分子類對應於Java程式中的非執行時異常的處理(在下圖中將它們直接屬於Exception了),這些異常也稱為顯式異常。它們都是在程式中用語句丟擲、並且也是用語句進行捕獲的,比如,檔案沒找到引起的異常、類沒找到引起的異常等。
一些主要子類對應的異常處理功能簡要說明如下:
ArithmeticException——由於除數為0引起的異常; ArrayStoreException——由於陣列儲存空間不夠引起的異常; ClassCastException—一當把一個物件歸為某個類,但實際上此物件並不是由這個類 建立的,也不是其子類建立的,則會引起異常; IllegalMonitorStateException——監控器狀態出錯引起的異常; NegativeArraySizeException—一陣列長度是負數,則產生異常; NullPointerException—一程式試圖訪問一個空的陣列中的元素或訪問空的物件中的 方法或變數時產生異常; OutofMemoryException——用new語句建立物件時,如系統無法為其分配記憶體空 間則產生異常; SecurityException——由於訪問了不應訪問的指標,使安全性出問題而引起異常; IndexOutOfBoundsExcention——由於陣列下標越界或字串訪問越界引起異常; IOException——由於檔案未找到、未開啟或者I/O操作不能進行而引起異常; ClassNotFoundException——未找到指定名字的類或介面引起異常; CloneNotSupportedException——一程式中的一個物件引用Object類的clone方法,但 此物件並沒有連線Cloneable介面,從而引起異常; InterruptedException—一當一個執行緒處於等待狀態時,另一個執行緒中斷此執行緒,從 而引起異常,有關執行緒的內容,將在下一章講述; NoSuchMethodException一所呼叫的方法未找到,引起異常; Illega1AccessExcePtion—一試圖訪問一個非public方法; StringIndexOutOfBoundsException——訪問字串序號越界,引起異常; ArrayIdexOutOfBoundsException—一訪問陣列元素下標越界,引起異常; NumberFormatException——字元的UTF程式碼資料格式有錯引起異常; IllegalThreadException—一執行緒呼叫某個方法而所處狀態不適當,引起異常; FileNotFoundException——未找到指定檔案引起異常; EOFException——未完成輸入操作即遇檔案結束引起異常。