溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

再說Java異常

發(fā)布時間:2020-08-03 07:46:56 來源:網(wǎng)絡(luò) 閱讀:375 作者:屠夫章哥 欄目:移動開發(fā)

最近在重構(gòu)代碼的時候,有些想法,記錄一下:

  1. 對于一些會拋異常的代碼進行封裝,是應(yīng)該在封裝的方法處直接try-catch還是throw exception讓外面的調(diào)用者進行處理?

    其實catch就相當(dāng)于內(nèi)部的一個回調(diào),如果在內(nèi)部就try-catch掉了,這個回調(diào)是無法傳遞到外面的,這樣是不利于擴展的。比如下面的代碼:


  再說Java異常  

  這樣系統(tǒng)就會提示在內(nèi)部IOException永遠不會拋出,需要去掉try-catch模塊。但是catch里是有代碼邏輯的,所以封裝的時候不能一味地進行try-catch以圖省事。

  當(dāng)然還有一個解決辦法,就是在封裝的方法內(nèi)部的catch里再throw 異常對象。但是這樣就是重復(fù)啰嗦的。



2.throw new RuntimeException

  1)在使用建造者設(shè)計模式的時候,某些屬性的建造是有先后順序或者必要性的。如果調(diào)用者沒有按照

 順序建造或者建造不全,需要直接拋出異常。防止異常拖后拋出,和業(yè)務(wù)的異?;祀s在一起。

  

  

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI