Exception和Error派生於Throwable;java
Error:描述了java運行時系統的內部錯誤和資源耗盡錯誤。大多數錯誤與代碼編寫者執行的操做無關,而表示代碼運行時 JVM(Java 虛擬機)出現的問題。應用程序不該該拋出這種類型的對象。 程序員
Exception:包括RuntimeException和其餘異常;數組
RuntimeException:由程序錯誤致使的異常;安全
例如:
IndexOutOfBoundsException(下標越界異常)
NullPointerException(空指針異常)指針
IllegalArgumentException(方法參數錯誤)orm
IllegalAccessException(無訪問權限異常)對象
ClassNotFoundException(指定的類不存在)
NumberFormatException (String轉換爲指定的數字格式異常)
ArithmeticException -(算術運算異常 如除數爲0)
ArrayStoreException - (向數組中存放與聲明類型不兼容對象異常)
SecurityException -(安全異常)資源
NoSuchMethodError(方法不存在錯誤)編譯器
其餘異常:程序自己沒有沒有問題,但因爲像I/O錯誤這類異常致使的異常;虛擬機
FileNotFoundException(文件未找到異常。)
IOException(操做輸入流和輸出流時可能出現的異常。)
EOFException (文件已結束異常)
SQLException
unchecked exception(非檢查異常):包括運行時異常(RuntimeException)和派生於Error類的異常。對於運行時異常,java編譯器不要求必須進行異常捕獲處理或者拋出聲明,由程序員自行決定。
checked exception(檢查異常,編譯異常,必需要處理的異常): 也稱非運行時異常(運行時異常之外的異常就是非運行時異常),java編譯器強制程序員必須進行捕獲處理,好比常見的IOExeption和SQLException。對於非運行時異常若是不進行捕獲或者拋出聲明處理,編譯都不會經過。