2020-10-04
Java學習筆記(2)
異常處理
Java是一門物件導向的程式語言,異常在Java語言中也是作為類的例項的形式出現的。
Java類庫的每個包中都定義了異常類,所有這些類都是Throwable 類的子類。由其派生出兩個類,分別是Error和Exception類。Error類及其子類描述Java執行系統中的內部錯誤以及資源耗盡的錯誤。Exception類可以通過捕捉處理使程式繼續執行。
Error
該類定義了常規環境下不希望由程式捕獲的異常,比如OutOfMemoryError、ThreadDeath 等,這些錯誤發生時,Java虛擬機器(JVM)一般都會選擇執行緒終止。
Exception
Exception 是程式本身可以處理的異常,主要分為執行時異常和非執行時異常
執行時異常
這些異常是RuntimeException類及其子類,如NullPointerException、IndexOutOfBoundsException等。
RuntimeException異常
異常類 | 說明 |
---|---|
ClassCastException | 型別轉換異常 |
NullPointerException | 空指標異常 |
ArrayIndexOutOfBoundsException | 陣列下標越界異常 |
ArithmeticException | 算數異常 |
ArrayStoreException | 陣列中包含不相容的值丟擲的異常 |
NumberFormatException | 字串轉換為數字丟擲的異常 |
IllegalArgumentException | 非法引數異常 |
FileSystemNotFoundException | 檔案系統未找到異常 |
SecurityException | 安全性異常 |
SrtingIndexOutOfBoundsException | 字串索引超出範圍異常 |
NegativeArraySizeException | 陣列長度為負異常 |
非執行時異常
非執行時異常是RuntimeException類及其子類以外的異常。如IOException、SQLException以及使用者自定義的異常
異常類 | 說明 |
---|---|
ClassNotFoundException | 未找到相應類異常 |
SQLException | 運算元據庫異常類 |
IOException | 輸入/輸出流異常 |
TimeoutException | 操作超時異常 |
FileNotFoundException | 檔案未找到異常 |
丟擲異常
-
try…catch丟擲
-
throw丟擲:語法 throw new 異常型別名(異常資訊)