天天看點

java異常Exception和常見的RunTimeException

java異常Exception和常見的RunTimeException

所有的異常都是由Throwable繼承而來,在下一層被分解為兩個分支:Error 和 Exception。

Error 類層次結構描述了 Java 運作時系統的内部錯誤和資源耗盡錯誤。 應用程式不應該 抛出這種類型的對象。 如果出現了這樣的内部錯誤, 除了通告給使用者,并盡力使程式安全地 終止之外, 再也無能為力了。這種情況很少出現。

在設計java程式時,需要關注的是Exception層的異常資訊:

這個層次結構又劃分為兩個分支:RunTimeException 和 Exception:

1、由程式錯誤導緻的異常屬于 RuntimeException,也就是運作時異常 ,這種異常又稱為不受檢異常,編譯器并不會報錯,當發生此類異常時會直接交由虛拟機接管。

派生于 RuntimeException 的常見異常包含下面幾種情況:

NullPointerException - 空指針引用異常

ClassCastException - 類型強制轉換異常。

IndexOutOfBoundsException - 下标越界異常

FileNotFoundException - 檔案未找到異常

ArithmeticException - 算術運算異常

IllegalArgumentException - 傳遞非法參數異常。

NegativeArraySizeException - 建立一個大小為負數的數組錯誤異常

NumberFormatException - 數字格式異常

SecurityException - 安全異常

UnsupportedOperationException - 不支援的操作異常

“如果出現RuntimeException異常,那一定就是你的問題”,這句話還是有一定道理的

2、其他異常,也稱為受檢異常,會在編譯時就曝出錯誤,需要自己去捕獲并處理

不是派生于RuntimeException 的異常包括:

試圖在檔案尾部後面讀取資料。

試圖打開一個不存在的檔案。

試圖根據給定的字元串查找 Class 對象, 而這個字元串表示的類并不存在