Defensive programming -- Code complete reading notes(8)
生活随笔
收集整理的這篇文章主要介紹了
Defensive programming -- Code complete reading notes(8)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
子程序不應該因傳入錯誤的數據而被破壞,哪怕是由其它子程序產生的錯誤數據。
1、檢查所有來源于外部的數據
2、檢查子程序所有輸入參數的值
3、決定如何處理錯誤的輸入數據
使用斷言
1、用錯誤處理代碼來處理預期會發生的錯誤,使用斷言來處理絕不會發生的狀況
2、避免把需要執行的代碼放在斷言中
3、用斷言來注釋并驗證前條件和后條作
4、應該先使用斷言再處理錯誤
錯誤處理技術
1、返回中立值
2、換用下一個正確的數據
3、返回與前次相同的數據
4、換用最接近的合法值
5、記日志
6、返回一個錯誤碼
7、調用錯誤處理子程序或對象
8、顯示出錯消息
9、在局部處理數據
10、關閉程序
錯誤處理方式有時更側重于正確性,有時則更側重于健壯性
應該在恰當的抽象層次拋出異常,確保異常的抽象層次與子程序接口的抽象層次一致,不應把更低層的異常傳遞給其調用方,暴露了一些實現細節。
總結
以上是生活随笔為你收集整理的Defensive programming -- Code complete reading notes(8)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能安全实验室-杀马(Defendio)
- 下一篇: 掌握 Ajax,第 4 部分: 利用 D