C++中常見異常現象
C++自身有著非常強的糾錯能力,發展到如今的6.0版本,已經建立了比較完善的異常處理機制。C++的異常情況無非兩種,一種是語法錯誤,即程序中出現了錯誤的語句,函數,結構和類,致使編譯程序無法進行。
另一種是運行時發生的錯誤,一般與算法有關。
關于語法錯誤,不必多說,寫代碼時心細一點就可以解決。C++完善的報錯機制可以讓我們輕松地避免這些錯誤。然而,由于C++軟件本身的問題,有時提示的信息并不正確,比如在處理多文件結構程序時,如果遺漏了定義結構段最后的那個分號,系統的提示信息就會引導使用者進入C++軟件的內部進行調試。
運行時的錯誤也有很多種,常見的有文件打開失敗、數組下標溢出、系統內存不足等等。而一旦出現這些問題,引發算法失效、程序運行時無故停止等故障也是常有的。這就要求我們在設計軟件算法時要全面。比如針對文件打開失敗的情況,保護的方法有很多種,最簡單的就是使用“return”命令,強制退出程序。設計一些大型的程序時,運行中一旦出現異常,應該能夠跳過錯誤,繼續運行。這就要用到釋放資源,退棧等方法,這里就不一一闡述了。
怎樣處理
面對以上這些情況,我們在編寫程序時應做到以下幾點:
首先,培養良好的程序書寫習慣,形成良好的程序書寫習慣可以有效地避免由于粗心大意造成的語法錯誤。
其次,注重程序設計的完善性與縝密性,在設計程序的思路時,應從大局著手,盡可能地考慮所有可能出現的異常情況,以便在前期的設計階段就加以控制。比如針對數組下標溢出的情況,學習了指針之后,就可以運用動態數組的知識加以解決。
再次,要養成迅速運用新知識的能力,用新知識解決以往程序中的漏洞,這樣許多運行時的錯誤都可以避免。不斷地修改以往編寫的程序是一種有效的C++學習方法。