Exception 和 RuntimeException都是異常,他們有什么區(qū)別呢割疾?是不是面試的時候經(jīng)常被問道唠粥?今天我們就好好聊聊Exception和RuntimeException。
概念
Exception :受檢查的異常捉超,這種異常是強制我們catch或throw的異常服协。你遇到這種異常必須進行catch或throw绍昂,如果不處理,編譯器會報錯。比如:IOException窘游。
RuntimeException:運行時異常唠椭,這種異常我們不需要處理,完全由虛擬機接管忍饰。比如我們常見的NullPointerException贪嫂,我們在寫程序時不會進行catch或throw。
RuntimeException也是繼承自Exception的艾蓝,只是虛擬機對這兩種異常進行了區(qū)分力崇。小伙伴在編寫自己的異常時,要選好繼承哪個異常哦~~
實例
接下來赢织,我們看看在實際編寫程序時亮靴,會有什么表現(xiàn)。首先于置,我們寫一個MyTest類茧吊,并寫兩個拋出異常的方法。如下圖:
打開UC瀏覽器 查看更多精彩圖片
第一個方法拋出Exception八毯,第二個方法拋出RuntimeException饱狂。然后,我們編寫main函數(shù)宪彩,分別調(diào)用兩個方法,如下圖:
打開UC瀏覽器 查看更多精彩圖片
我們看到在調(diào)用第一個方法時讲婚,編譯器提示我們要處理異常尿孔,進行try-catch或者在方法上將異常拋出。而在調(diào)用第二個方法時筹麸,并沒有提示我們進行異常處理活合。這也就是Exception和RuntimeException的區(qū)別。大家了解了嗎物赶?
大家如有任何疑問白指,歡迎在評論區(qū)討論~~