Error和Exception均實(shí)現(xiàn)Throwable接口
Exception:
1.可以是可被控制(checked) 或不可控制的(unchecked)楼誓。
2.表示一個由程序員導(dǎo)致的錯誤瘟斜。
3.應(yīng)該在應(yīng)用程序級被處理璃俗。
Error:
1.總是不可控制的(unchecked)。
2.經(jīng)常用來用于表示系統(tǒng)錯誤或低層資源的錯誤厅缺。
3.如何可能的話,應(yīng)該在系統(tǒng)級被捕捉。
一甸陌、try{} 里有一個 return 語句,那么緊跟在這個 try 后的 finally{} 里的 code 會不會被執(zhí)行盐股,什么時候被執(zhí)行钱豁,在 return 前還是后?
會執(zhí)行疯汁,在return后執(zhí)行牲尺。所以一般不建議在finnally{}執(zhí)行某些影響程序運(yùn)行的代碼,例如幌蚊,修改返回值谤碳。
常見的幾種RuntimeException如下:
NullPointerException - 空指針引用異常
ClassCastException - 類型強(qiáng)制轉(zhuǎn)換異常。
IllegalArgumentException - 傳遞非法參數(shù)異常溢豆。
ArithmeticException - 算術(shù)運(yùn)算異常
ArrayStoreException - 向數(shù)組中存放與聲明類型不兼容對象異常
IndexOutOfBoundsException - 下標(biāo)越界異常
NegativeArraySizeException - 創(chuàng)建一個大小為負(fù)數(shù)的數(shù)組錯誤異常
NumberFormatException - 數(shù)字格式異常
SecurityException - 安全異常
UnsupportedOperationException - 不支持的操作異常
算術(shù)異常類:ArithmeticExecption
空指針異常類:NullPointerException
類型強(qiáng)制轉(zhuǎn)換異常:ClassCastException
數(shù)組負(fù)下標(biāo)異常:NegativeArrayException
數(shù)組下標(biāo)越界異常:ArrayIndexOutOfBoundsException
違背安全原則異常:SecturityException
文件已結(jié)束異常:EOFException
文件未找到異常:FileNotFoundException
字符串轉(zhuǎn)換為數(shù)字異常:NumberFormatException
操作數(shù)據(jù)庫異常:SQLException
輸入輸出異常:IOException
方法未找到異常:NoSuchMethodException