Java中的異常分類
RuntimeException(也稱unchecked exceptions,運行時異常)
就是咱們在開發中測試功能時程序終止,控制檯出現的異常。(通常來講,出現運行時異常基本就是你的問題,要檢查代碼,把運行時異常想成你的女友,無論怎麼說,都是你的錯(✿◕‿◕✿))常見的運行時異常有:數組
- ArrayStoreException:試圖將錯誤類型的對象存儲到一個對象數組時拋出的異常
- ClassCastException:試圖將對象強制轉換爲不是實例的子類時,拋出該異常
- IllegalArgumentException:拋出的異常代表向方法傳遞了一個不合法或不正確的參數
- IndexOutOfBoundsException:指示某排序索引(例如對數組、字符串或向量的排序)超出範圍時拋出
- NoSuchElementException:代表枚舉中沒有更多的元素
- NullPointerException:當應用程序試圖在須要對象的地方使用 null 時,拋出該異常
其餘RuntimeException
- ArithmeticException——因爲除數爲0引發的異常;
- ArrayStoreException——因爲數組存儲空間不夠引發的異常;
- IllegalMonitorStateException——監控器狀態出錯引發的異常;
- NegativeArraySizeException—一數組長度是負數,則產生異常;
- OutofMemoryException——用new語句建立對象時,如系統沒法爲其分配內存空 間則產生異常;
- SecurityException——因爲訪問了不該訪問的指針,使安全性出問題而引發異常;
- IOException——因爲文件未找到、未打開或者I/O操做不能進行而引發異常;
- ClassNotFoundException——未找到指定名字的類或接口引發異常;
- CloneNotSupportedException——一程序中的一個對象引用Object類的clone方法,但 此對象並無鏈接Cloneable接口,從而引發異常;
- InterruptedException—一當一個線程處於等待狀態時,另外一個線程中斷此線程,從 而引發異常,有關線程的內容,將在下一章講述;
- NoSuchMethodException一所調用的方法未找到,引發異常;
- Illega1AccessExcePtion—一試圖訪問一個非public方法;
- StringIndexOutOfBoundsException——訪問字符串序號越界,引發異常;
- ArrayIdexOutOfBoundsException—一訪問數組元素下標越界,引發異常;
- NumberFormatException——字符的UTF代碼數據格式有錯引發異常;
- IllegalThreadException—一線程調用某個方法而所處狀態不適當,引發異常;
- FileNotFoundException——未找到指定文件引發異常;
- EOFException——未完成輸入操做即遇文件結束引發異常。
非RuntimeException(也稱checked exceptions,編譯異常)
是RuntimeException之外的異常,類型上都屬於Exception類及其子類。從程序語法角度講是必須進行處理的異常,若是不處理,程序就不能編譯經過。如IOException、SQLException等以及用戶自定義的Exception異常,通常狀況下不自定義檢查異常。 通俗的話說就是在寫代碼時出現紅線,須要try-catch或者throws時出現的異常。安全