異常了!俗話說(shuō):“代碼虐我千百遍,我待代碼如初戀”。

電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

小Alan最近一直在忙著工作,已經(jīng)很久沒(méi)有寫寫東西來(lái)加深自己的理解了,今天來(lái)跟大家聊聊Java異常。Java異常的體系什么的,理論知識(shí)啥的我就懶得去BB太多了,是個(gè)搞Java開發(fā)的都知道,只是可能理解的不深,這個(gè)大家可以自己多看看資料,我就簡(jiǎn)單的說(shuō)說(shuō)。

什么是異常?

我不知道大家都是怎么去理解的,我的理解很簡(jiǎn)單,那就是不正常的情況,比如我現(xiàn)在是個(gè)男的,但是我卻有著女人所獨(dú)有的東西,在我看來(lái)這尼瑪肯定是種異常,簡(jiǎn)直不能忍。就拿上面的異常圖片來(lái)說(shuō),你應(yīng)該是有小弟弟的,但你卻沒(méi)有小弟弟,這就是不正常的情況了,所以Java這個(gè)妹子會(huì)告訴你,你應(yīng)該有小弟弟的才能辦事,或者你沒(méi)小弟弟就別來(lái)辦事,你沒(méi)小弟弟也要強(qiáng)上別人,那也沒(méi)法玩啊是吧?

常說(shuō)我們?nèi)说淖孀谑窃?,異常Exception的祖宗那就是Throwable類了,除了Exception類外,Throwable還有一個(gè)子類Error 。Error這玩意就不說(shuō)了,你如果遇到了它你可以把電腦砸了,呼呼呼...跟大家開個(gè)玩笑,反正這玩意不是我們程序能處理的,它在程序處理的范疇之外。至于異常Exception又分為傻傻啥的,我就不BB了,再BB就B到這上面了。

給大家隨便列舉幾個(gè)異常:

RuntimeException:你不能跑得足夠快,可能因?yàn)槟闾至?。關(guān)掉你的電腦,出門鍛煉吧。

NullPointerException:你沒(méi)有狗。請(qǐng)你先找一只狗,比如一只布烈塔尼獵犬,然后再試一次。

IndexOutOfBoundsException:你把食指放在了無(wú)法接收的地方,重新放置,再試一次。

FileNotFoundException:一名木匠應(yīng)該總是知道他的工具放在哪里。

NotSerializableException:你正試圖把一部電影改成電視劇。

這尼瑪什么鬼?反正我是沒(méi)看懂。還好今天我要理解的對(duì)象不是上面的這些玩意,搞錯(cuò)對(duì)象就不好了,看看就好了,但是別亂搞,男人都懂的,嘖..嘖..嘖...。

 

自定義異常

今天我們要來(lái)理解的是什么是自定義異常,為什么要使用自定義異常,使用自定義異常有哪些好處,有哪些不好的地方?

要使用自定義異常就跟你和女朋友相處一樣的,首先你得知道你為什么要跟你女朋友在一起,你女朋友有哪些好處,有哪些不好的地方,再來(lái)和你女朋友談婚論嫁過(guò)一輩子,我們就先來(lái)說(shuō)說(shuō)這些問(wèn)題,最后再來(lái)看怎么使用自定義異常,自定義異常的實(shí)現(xiàn)和使用非常簡(jiǎn)單,關(guān)鍵還是理解why的內(nèi)容。

 

為什么要使用自定義異常,有什么好處?

1.我們?cè)诠ぷ鞯臅r(shí)候,項(xiàng)目是分模塊或者分功能開發(fā)的 ,基本不會(huì)你一個(gè)人開發(fā)一整個(gè)項(xiàng)目,使用自定義異常類就統(tǒng)一了對(duì)外異常展示的方式。

2.有時(shí)候我們遇到某些校驗(yàn)或者問(wèn)題時(shí),需要直接結(jié)束掉當(dāng)前的