錯誤與調試

1、計算機的錯誤有兩種:語法錯誤邏輯錯誤

1.1語法錯誤:

例:

var a = 3+4;
alert(a);
alter(a);
a++;
alert(a);


上例中alert被拼寫成了alter,顯示結果爲a未被定義,說明後面的代碼沒有執行,因爲輸出後遇到了語法錯誤,程序終止執行。

上例也進一步說明了解釋型語言的特點:翻譯一條,執行一條,遇到錯誤提前終止執行。


發現語法錯誤的方法:

(1)開發者工具的console(控制檯)窗口,能顯示錯誤及其說明

(2)try.......catch 捕獲異常

try {
    var a = 3 + 4;
    alert(a);
    alter(a);
    a++;
    alert(a);
} catch (e) {
    alert(e);
}

1.2邏輯錯誤

       /* 報名參軍的年齡限制:17-24週歲;*/
        var age = Number(prompt("請問你的年齡是?"));
        if(17<=age<=24){
            alert("歡迎你報名參軍!")
        }else{
            alert("抱歉,你不能參軍!")
        }



結果顯示,無論輸入年齡96或3,都能報名參軍,結果顯然是錯誤的,但執行過程中沒有顯示任何語法錯誤。

調試的基本原理:程序的執行時自動的,而且速度非常快,無法瞭解中間執行過程。但是幾乎所有得開發工具都提供了調試的功能,可以去控制程序的執行節奏,從而可以讓開發者看清執行的過程。

1.3調試:

(1)設置斷點

打開開發者工具在source打開代碼,然後在代碼左側(行號)點擊即可在該處設置斷點

(2)  單步執行(快捷鍵:F10):

控制節奏的目的:看清並瞭解程序的執行過程,而不僅僅是結果。

(1)查看程序執行的步驟,也就是上圖中的指示即將執行的代碼提示器,如果軌跡與預期不一致,說明上一步執行的代碼出錯了。

(2)查看變量、表達式的值,

因爲計算機程序的每一步執行的結果都是唯一的、可預期的,同時我們又可以通過上述手段控制程序的運行節奏,並查看程序執行的狀態(如軌跡、變量表達式的值),也就是可以看到實際執行的結果,那麼將實際結果和預期結果對比,如果出現不一致,說明剛剛執行的那一步出現了錯誤,即定位錯誤

一旦定位錯誤,根據所學知識或經驗,應該就很容易分析出錯誤原因,從而找到解決方案。

就像我的老師所說:調試工具不僅僅是定位錯誤的工具,也是一個非常重要的學習工具,因爲調試工具可以讓我們直觀的看到程序的運行軌跡及運行狀態,有助於我們對於一些抽象指示的理解。


發佈了40 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章