Error 和 Exception 都是 Throwable 的子類
1傀蚌,Exception是程序正常運行中,可以預(yù)料的意外情況蘸吓,可能并且應(yīng)該被捕獲善炫,進(jìn)行相應(yīng)的處理。
2库继,Error是指正常情況下箩艺,不大可能出現(xiàn)的情況窜醉,絕大部分的Error都會導(dǎo)致程序處于非正常的、不可恢復(fù)的狀態(tài)艺谆。既然是非正常情況榨惰,不便于也不需要捕獲。常見的比如OutOfMemoryError之類都是Error的子類静汤。
3琅催,Exception又分為可檢查(checked)異常和不可檢查(unchecked)異常〕娓可檢查異常在源代碼里必須顯式的進(jìn)行捕獲處理恢暖,這是編譯期檢查的一部分。不可檢查時異常是指運行時異常狰右,像NullPointerException杰捂、ArrayIndexOutOfBoundsException之類,通常是可以編碼避免的邏輯錯誤棋蚌,具體根據(jù)需要來判斷是否需要捕獲嫁佳,并不會在編譯期強制要求。