1.異常
所有異常都來自Throwable,
Error(錯誤)是程序無法處理的錯誤(修改代碼無法處理),一般來自JVM的問題,發生於虛擬機自身或者虛擬機試圖執行應用的時候,
比如內存溢出、虛擬機運行錯誤、類定義錯誤;
這些錯誤不可查,運行時纔會發現;
Exception(異常)是可以通過修改代碼處理的異常。
RuntimeException和其子類,表示“JVM常用操作錯誤”,比如空指針,下標越界、除0;
2.異常分類
不可查異常:RuntimeException和其子類、Error
可查異常:RuntimeException和其子類以外的異常都是可查異常(編譯器會報錯,需用try、catch、throws)
運行時異常:NullpointException(空指針異常),ClassCastException(類型轉換異常),IndexOutOfBoundsException(數組越界異常)ArrayIndexOutOfBoundsException
非運行時異常(編譯異常):比如IOException、SQLExcepiton
1、檢查性異常: 不處理編譯不能通過
2、非檢查性異常:不處理編譯可以通過,如果有拋出直接拋到控制檯
3、運行時異常: 就是非檢查性異常
4、非運行時異常: 就是檢查性異常
3.聲明自定義異常
所有異常都必須是 Throwable 的子類。
如果希望寫一個檢查性異常類,則需要繼承 Exception 類。
如果你想寫一個運行時異常類,那麼需要繼承 RuntimeException 類。