傳統上,錯誤類和異常類統稱為異常類,但它們本質上是不同的。Error class是專門用來處理嚴重影響程序運行的錯誤的,但通常程序員不會設計程序代碼來捕捉這類錯誤,因為即使捕捉到了,也無法妥善處理。例如,JAVA虛擬機中的錯誤就是錯誤。
與Error類不同的是,Exception類包含壹般的異常,這些異常在被捕獲後通常可以得到妥善處理,以保證程序繼續運行。比如TestException7_2中捕獲的ArrayIndexOutOfBoundsException就屬於這種異常。
RunntimeException即使不寫異常處理的程序代碼也能編譯成功,而且這種異常只有在程序運行時才會發生,比如數組的索引值超出範圍。
與RunntimeException不同,IOException必須編寫異常處理的程序代碼,通常用於處理與輸入/輸出相關的操作,如文件訪問和網絡連接。
當異常發生時,發生異常的語句代碼拋出異常類的實例化對象,該對象然後與catch語句中的類的類型進行匹配,然後在相應的catch中進行處理。
擴展數據:
Java異常的分類:
Java標準pants內置了壹些常見的異常,這些類將Throwable作為頂級父類。
Throwable還派生了Error類和Exception類。
Error:Error類及其子類的例子代表了JVM本身的錯誤。程序員無法通過代碼處理錯誤,錯誤很少出現。所以程序員要註意以Exception為父類的分支下的各種異常類。
Exception: Exception及其子類表示程序運行時發送的各種意外事件。它可供Java異常處理機制使用,是異常處理的核心。
參考資料:
百度百科-變態