代码整洁之道-11
當程序出現錯誤時,我們有責任確保代碼照常工作,所以錯誤處理很重要,但如果它搞亂了代碼邏輯,就是錯誤的做法。我們既要編寫整潔代碼又要優雅的處理錯誤需要一些技巧和思路。
1.使用異常而非返回碼
之前許多需要不支持異常,這些語言在處理錯誤的手段有限,要么返回一個錯誤標識,要么返回給調用者檢查的錯誤碼。這些手段搞亂了調用者代碼邏輯,且調用者必須在調用之后立即檢查錯誤,但這個步驟很容易被遺忘,所以最好拋出一個異常,這樣調用代碼整潔,且不會打亂邏輯。
2.提前寫好try-catch-finally可控異常語句。
Try代碼塊像是事物,catch代碼塊將程序維持在一種持續狀態。try-catch結構定義了一個范圍。
3.錯誤信息要充足
我們可以從異常里得到堆棧蹤跡,而堆棧蹤跡卻無法告訴你該失敗操作的初衷。我們應該創建充分的錯誤信息和提供足夠的環境說明,失敗操作以及失敗類型,并和異常一起輸出到錯誤日志中。
4.將錯誤分類
將錯誤分類,比如可以分為設備錯誤,網絡錯誤,編程錯誤等。
5.打包API
將第三方API打包是個良好的實踐手段,降低了對每個第三方的依賴,也有助于模擬第三方調用。
6.定義常規流程
特例模式(SPECIAL CASE PATTERN,[Fowler]),創建一個類或配置一個對象,用來處理特例,異常行為被封裝到特例對象中。
7.別返回null
返回null值,基本是在給自己增加工作量,也是在給調用者添亂,只要有一處沒檢查null值,應用程序就會失控。如果你打算在方法中返回null值,不如拋出異常或返回特例對象。
8.別傳遞null值
將null值傳遞給其他方法更糟糕,除非API要求你向它傳遞null值,否則就要盡可能避免傳遞null值。
總結
- 上一篇: 代码整洁之道-10
- 下一篇: windows中用cmd命令生成任意大小