Exception與RuntimeException有什么異同

這個問題是我面試的時候遇到的一個題目, 較真的說題目不對。應該是RuntimeException和非RuntimeException的區(qū)別。

因為Exception是RuntimeException的父類。如果是非RuntimeException,如果在定義方法的時候拋出異常,在調用該方法

的地方必須使用try{}catch{}來捕獲異常。但是對于RuntimeException來說不需要。jvm會對該異常進行處理,但是會中斷程序

運行。所以建議也對RuntimeException進行try catch。

如果是自定義異常,應該繼承Exception,因為你肯定想自己捕捉進行相應的處理,而不是交給jvm處理。

常見的RuntimeException:

NullPointerException - 空指針引用異常

ClassCastException - 類型強制轉換異常。

IllegalArgumentException - 傳遞非法參數(shù)異常。

ArithmeticException - 算術運算異常

ArrayStoreException - 向數(shù)組中存放與聲明類型不兼容對象異常

IndexOutOfBoundsException - 下標越界異常

NegativeArraySizeException - 創(chuàng)建一個大小為負數(shù)的數(shù)組錯誤異常

NumberFormatException - 數(shù)字格式異常

SecurityException - 安全異常

UnsupportedOperationException - 不支持的操作異常

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容