1. 程式人生 > 其它 >【java】異常

【java】異常

異常檢查:最具代表性的檢查性異常是使用者錯誤或問題引起的異常,這是程式設計師無法預見的,例如要開啟一個不存在的檔案時,
一個檔案異常發生了,這些異常在編譯時不能被簡單的忽略

執行時異常:是可能被程式設計師避免的異常,與檢查性異常相反,執行時異常可以在編譯時忽略

錯誤:錯誤不是異常,錯誤在程式碼中通常被忽略,例如:當棧溢位,在編譯時檢查不到的
Java把異常當做物件處理,並定義一個基類java.lang.Throwable作為所有異常的超類。
Java的API中定義了許多異常,這些異常分為兩大類:錯誤Error和異常Exception
Error
Error類物件由Java虛擬機器生產並丟擲,大多數錯誤與程式碼編寫者所執行的操作無關

JVM執行錯誤,當JVM不再有繼續執行操作所需要的記憶體資源時,出現OutOfMemoryError,這些異常發生時,JVM一般會選擇執行緒終止

Exception
有一個重要的子類RuntimeException(執行時異常)
ArrayIndexOutOfException,MissiongResoureException等是可以捕獲和處理的。
這些異常一般是由程式邏輯錯誤引起的,程式應從邏輯角度儘可能避免這類異常的發生

Error和Exception的區別:Error通常是災難性的致命錯誤,是程式無法控制和處理的,當出現這些異常時,JVM一般會選擇執行緒終止。
Exception通常情況下是可以被程式處理的,並且在程式中應該儘可能的去處理這些異常