1. 程式人生 > >java中exception和error有什麽區別,運行時異常和一般異常有什麽區別

java中exception和error有什麽區別,運行時異常和一般異常有什麽區別

顯示 error cat 捕獲 導致 避免 dex 源代碼 tof

1.exception和error都是繼承了throwable類,在java中只有throwable類型的實例才可以被拋出(throw)或者捕獲(catch),它是異常處理機制的基本組成類型

2.exception和error體現了java平臺設計者對不同異常情況的分類。exception是程序正常運行中,可以預料的意外情況,並且應該被捕獲,進行相應的處理

3.error是指在正常情況下,不大可能出現的情況,絕大部分的error都會導致程序(比如jvm自身)處於非正常的、不可恢復的狀態。既然是非正常情況,所以不便於也不需要捕獲,常見的比如OutOfMemoryError之類,都是Error的子類

4.Exception又分為可檢查異常和不可檢查異常,可檢查異常在源代碼裏必須顯示的進行捕獲處理,這是編譯期檢查的一部分。不可檢查異常就是所謂的運行時異常,類似NullPointerException、ArrayIndexOutOfBoundsException之類,通常是可以編碼避免的邏輯錯誤,具體可以根據需要來判斷是否需要捕獲,並不會在編譯期強制要求

java中exception和error有什麽區別,運行時異常和一般異常有什麽區別