Effective Java之努力使失败保持原子性(六十四)
生活随笔
收集整理的這篇文章主要介紹了
Effective Java之努力使失败保持原子性(六十四)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這是我們需要遵守的規則:
1.失敗的方法調用應該使對象保持在被調用之前的狀態。
2.錯誤通常是不可恢復的,當方法拋出錯誤時,不需要保持原子性。
3.作為方法規范的一部分,方法產生的任何異常都應該讓對象保持在該方法調用之前的狀態。如果違反這條規則,API文檔就應該清楚地指明對象將會處于什么樣的狀態。
失敗原子性實現方法
1.對象為不可變對象,那么對象創建出來就不能被修改了,也不需要維護。
2.在執行操作之前檢查參數的有效性。在對象狀態被修改之前,先拋出異常。
3.調整計算處理的過程,使得任何可能會失敗的計算部分都在對象狀態被修改之前發生。
4.編寫恢復代碼,由其攔截操作過程中發生的失敗,以及使對象回滾到操作開始之前的狀態上。這樣做并不提倡,因為錯誤代碼編寫遇到復雜的場景會很繁瑣。
5.在對象的一份臨時拷貝上執行操作,操作完成后,在使用臨時拷貝的的結果代替對象的內容。也就是備份操作。
對于以上五種方法,我們更推薦前3種,我們應該先考慮防患于未然,才考慮如何錯誤恢復。對于大型項目,錯誤恢復也是可用性重要的戰術之一。
總結
以上是生活随笔為你收集整理的Effective Java之努力使失败保持原子性(六十四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Effective Java之在细节消息
- 下一篇: Effective Java之不要忽略异