您好,登錄后才能下訂單哦!
有的人在遇到異常鏈的時(shí)候不知道怎么解決,下面一起來(lái)看下出現(xiàn)異常鏈的時(shí)候如何解決:
在設(shè)計(jì)模式中有一個(gè)叫做責(zé)任鏈模式,該模式是將多個(gè)對(duì)象鏈接成一條鏈,客戶端的請(qǐng)求沿著這條鏈傳遞直到被接收、處理。同樣Java異常機(jī)制也提供了這樣一條鏈:異常鏈。
我們知道每遇到一個(gè)異常信息,我們都需要進(jìn)行try…catch,一個(gè)還好,如果出現(xiàn)多個(gè)異常呢?分類處理肯定會(huì)比較麻煩,那就一個(gè)Exception解決所有的異常吧。這樣確實(shí)是可以,但是這樣處理勢(shì)必會(huì)導(dǎo)致后面的維護(hù)難度增加。最好的辦法就是將這些異常信息封裝,然后捕獲我們的封裝類即可。
誠(chéng)然在應(yīng)用程序中,我們有時(shí)候不僅僅只需要封裝異常,更需要傳遞。怎么傳遞?throws!!binge,正確!!但是如果僅僅只用throws拋出異常,那么你的封裝類,怎么辦??
我們有兩種方式處理異常,一是throws拋出交給上級(jí)處理,二是try…catch做具體處理。但是這個(gè)與上面有什么關(guān)聯(lián)呢?try…catch的catch塊我們可以不需要做任何處理,僅僅只用throw這個(gè)關(guān)鍵字將我們封裝異常信息主動(dòng)拋出來(lái)。然后在通過(guò)關(guān)鍵字throws繼續(xù)拋出該方法異常。它的上層也可以做這樣的處理,以此類推就會(huì)產(chǎn)生一條由異常構(gòu)成的異常鏈。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。