Java中的Error和Exception

一、Error和Exception的聯繫

  • 繼承結構:Error和Exception都是繼承於Throwable,RuntimeException繼承自Exception。java

  • Error和RuntimeException及其子類稱爲未檢查異常(Unchecked exception),其它異常成爲受檢查異常(Checked Exception)。函數

二、Error和Exception的區別

  • Error類通常是指與虛擬機相關的問題,如系統崩潰,虛擬機錯誤,內存空間不足,方法調用棧溢出等。如java.lang.StackOverFlowError和Java.lang.OutOfMemoryError。對於這類錯誤,Java編譯器不去檢查他們。對於這類錯誤的致使的應用程序中斷,僅靠程序自己沒法恢復和預防,遇到這樣的錯誤,建議讓程序終止。對象

  • Exception類表示程序能夠處理的異常,能夠捕獲且可能恢復。遇到這類異常,應該儘量處理異常,使程序恢復運行,而不該該隨意終止異常。繼承

三、throw 和 throws兩個關鍵字有什麼不一樣

  • throw 是用來拋出任意異常的,你能夠拋出任意 Throwable,包括自定義的異常類對象;throws老是出如今一個函數頭中,用來標明該成員函數可能拋出的各類異常。若是方法拋出了異常,那麼調用這個方法的時候就須要處理這個異常。
相關文章
相關標籤/搜索