Java中運行時異常和非運行時異常什麼鬼?

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時出現的異常。安全

相關文章
相關標籤/搜索