思考記錄--錯誤狀態、異常拋出與接口耦合度的關係

 錯誤狀態、異常拋出  與  接口耦合

當程序中函數的調用一層一層的深入,那麼如果某層的函數執行出現了錯誤,那麼對於錯誤是一層一層返回,還是在不同層次上分別進行處理。

 

如果將錯誤一層一層向上返回,勢必造成上次邏輯開發需要知道很多底層細節,比如。用戶類需要持久化處理,那麼如果是通過網絡保存到另一臺機上部署的DB中,那麼網絡異常、數據庫異常等所有的錯誤,用戶的持久化類都需要處理。

現在的編譯器提供了很詳細的程序調用棧情況信息,我們可以跟蹤這些信息一層一層發現問題的所在。

異常處理機制,提供了將異常可以逐層向上拋出的處理方法。


可細細想來,異常和錯誤並不是都拋給最上層程序來處理。很多異常和錯誤都是在特定的模塊或特定的層次中進行了處理,對外只暴露了部分需要調用者知道的異常。


這應該還是接口設計方面的考慮,在函數調用過程中,那些是同一個層次,完成同一個功能模塊的,那些是位於不同層次,不同模塊的。


個人認爲,接口之間的耦合度也可以通過需要知道對方的異常多少來衡量。我需要知道和處理的異常越多,那麼我們之間聯繫也越精密。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章