防禦式程式設計,避免預期之外的錯誤

2021-10-05 08:15:39 字數 355 閱讀 8219

防禦式程式設計:對輸入的可能性考慮周到,避免預期之外的錯誤導致程式崩潰。

措施:1.對輸入進行檢查

(1)檢查輸入源(檔案,網路,控制台)資料的合法性。

(2)檢查每乙個函式輸入引數的合法性。

2.對非預期錯誤使用斷言

(1)空指標

(2)輸入或輸出引數的值不再預期範圍內

(3)陣列越界

斷言:#include

assert(條件);

斷言語句執行時會判斷條件是否成立,如果條件成立,則繼續執行。如果條件不成立,則會報錯,並終止程式,提示行號。

斷言用於程式除錯時使用,避免輸入的資料非法,而導致程式錯誤。

記錄一下,以免忘記。

防禦式程式設計之Unity斷言的使用

斷言是被用來檢查非法情況而不是錯誤情況,即在該程式正常工作時絕不應該發生的非法情況,用來幫助開發人員對問題的快速定位。異常處理用於對程式發生異常情況的處理,增強程式的健壯性 容錯性,減少程式使用中對使用者不有好的行為,不讓 通常也不必 使用者知道發生了什麼錯誤。通常在unity開發過程中,經常有一堆...

需要避免的MYSQL客戶機程式設計錯誤

本文討論一些常見的mysqlc api 程式設計錯誤,以及如何避免其發生 這些問題在mysql郵件清單中會周期性地突然出現 1.錯誤1 使用未初始化的連線處理程式指針 我們已經通過傳遞null 引數呼叫了mysql i n i t 這就是讓它分配並且初始化mysql 結構,然後返回乙個指標。另外一種...

C語言程式設計中避免不必要錯誤的幾點程式設計風格建議

1 定義變數的同時盡可能初始化變數 因為在c語言中變數定義後其值是不確定的,特別是指標如果不進行初始化可能無意中造成不確定記憶體的讀寫,在定義變數時盡量將其初始化,如果是變數有確定的初始值最好在定義時直接初始化,如果不確定則在定義變數時初始化為0,指標如里在初始化時沒有確定的值就初始化為null 亦...