官术网_书友最值得收藏!

1.6.3 邏輯錯誤

邏輯錯誤是指程序通過了編譯,且運行時沒有出現(xiàn)任何異常,但實際的運行結(jié)果與預期不一致。例如,預期得到AB的乘積,但實際計算的卻是AB的和。

在軟件的開發(fā)階段,代碼出現(xiàn)邏輯錯誤是不可避免的,即使對于有著豐富經(jīng)驗的開發(fā)者也是如此。邏輯錯誤發(fā)生時,通常不會出現(xiàn)任何異常或提示,因而這種錯誤也是最難察覺的。尋找具有邏輯錯誤的代碼所耗費的時間往往比改正這個錯誤要多得多。

通常,應先根據(jù)程序的輸出信息判斷出錯誤所在的大致位置(范圍),然后通過人工檢查的方式逐行檢查范圍內(nèi)的每行代碼是否正確——注意不是檢查語法上是否正確,而是檢查代碼是否完成了預期的邏輯,如“應該是乘而不是加”。

人工檢查的方式只適合于程序的代碼行數(shù)較少或判斷出的錯誤所在范圍較小的情況,在實際開發(fā)中,這些情況很少被滿足。另外,由于粗心或思維定勢等原因,這種方式經(jīng)常不能檢查出錯誤所在,因此,更為可靠地定位并改正邏輯錯誤的方法是調(diào)試。

主站蜘蛛池模板: 南阳市| 榆树市| 凤城市| 双牌县| 呼和浩特市| 莒南县| 准格尔旗| 泰州市| 安新县| 凭祥市| 加查县| 建宁县| 东宁县| 依安县| 苏州市| 玉山县| 正宁县| 抚州市| 子洲县| 繁峙县| 呼玛县| 河津市| 建水县| 永康市| 丰镇市| 蕉岭县| 通山县| 嘉善县| 依安县| 射洪县| 大兴区| 湖州市| 邢台县| 杭锦后旗| 抚顺县| 宜君县| 万荣县| 汽车| 准格尔旗| 高碑店市| 凤山市|