您好,登錄后才能下訂單哦!
最近在重構代碼的時候,有些想法,記錄一下:
對于一些會拋異常的代碼進行封裝,是應該在封裝的方法處直接try-catch還是throw exception讓外面的調用者進行處理?
其實catch就相當于內部的一個回調,如果在內部就try-catch掉了,這個回調是無法傳遞到外面的,這樣是不利于擴展的。比如下面的代碼:
這樣系統就會提示在內部IOException永遠不會拋出,需要去掉try-catch模塊。但是catch里是有代碼邏輯的,所以封裝的時候不能一味地進行try-catch以圖省事。
當然還有一個解決辦法,就是在封裝的方法內部的catch里再throw 異常對象。但是這樣就是重復啰嗦的。
2.throw new RuntimeException
1)在使用建造者設計模式的時候,某些屬性的建造是有先后順序或者必要性的。如果調用者沒有按照
順序建造或者建造不全,需要直接拋出異常。防止異常拖后拋出,和業務的異常混雜在一起。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。