了解錯誤:三種程式設計錯誤

更新:2007 年 11 月

在本課程中,您將學習在撰寫程式時,可能會發生的各種不同類型錯誤。

即使是最有經驗的程式設計人員也會犯錯,因此,知道如何偵錯應用程式,並找出錯誤是程式設計中重要的一環。但是在學習偵錯程序以前,了解您所需要尋找並修正的錯誤類型會很有幫助。

程式設計錯誤可分成三大類:「編譯錯誤」、「執行階段錯誤」和「邏輯錯誤」。偵錯這三大類錯誤的技巧會在下面三個課程中詳細討論。

編譯錯誤

編譯錯誤也稱為「編譯器錯誤」,這種錯誤會讓您的程式無法執行。按下 F5 執行程式時,Visual Basic 會將程式碼編譯成電腦能夠了解的二進位語言。如果 Visual Basic 編譯器遇到不了解的程式碼,就會發出編譯器錯誤。

大部分的編譯器錯誤都是因為您輸入程式碼時犯下錯誤而產生的。例如,可能是拼錯了關鍵字、遺漏了必要的標點符號,或是沒有先使用 If 陳述式就嘗試使用 End If 陳述式。

所幸,Visual Basic 的 [程式碼編輯器] 經過設計,可在您嘗試執行程式前就識別這些錯誤。您將在下一個課程:尋找並修正編譯器錯誤中,學習如何尋找並修正編譯錯誤。

執行階段錯誤

執行階段錯誤是指程式在執行時發生的錯誤。這些錯誤通常是程式在嘗試執行不可能完成的作業時發生。

其中一個例子是除數為零。假設您有下列陳述式:

Speed = Miles / Hours

如果變數 Hours 的值為 0,除法運算就會失敗並導致執行階段錯誤。您必須先執行程式,才能偵測到這種錯誤,但是如果 Hours 包含有效的值,則不會發生這種錯誤。

發生執行階段錯誤時,您可以使用 Visual Basic 中的偵錯工具來判斷發生原因。您將在課程:程式無法執行!尋找並排除執行階段錯誤 中,學習如何尋找並修正執行階段錯誤。

邏輯錯誤

邏輯錯誤是指讓您的程式無法達到預期效果的錯誤。雖然您的程式碼可能在毫無錯誤的情況下編譯並執行,但作業所產生的結果可能並不如您所預期。

例如,您可能有稱為 FirstName 的變數,最初設定成空白字串。後來在程式中,您可能會將 FirstName 跟另一個稱為 LastName 的變數串連在一起,以顯示全名。如果忘了為 FirstName 指定值,則只會顯示姓氏,而無法如您預期地顯示全名。

邏輯錯誤最難尋找和修正,但是 Visual Basic 也有偵錯工具,可讓這項工作更容易。您將在追蹤並修正邏輯錯誤:尋找邏輯錯誤中,學習如何尋找並修正邏輯錯誤。

後續步驟

在本課程中,您了解到程式設計錯誤共有三大類。在下一個課程中,您將學習偵錯編譯器錯誤。

下一個課程:尋找並修正編譯器錯誤

請參閱

工作

尋找錯誤:Visual Basic 偵錯簡介

其他資源

何處發生錯誤?透過偵錯尋找和修正錯誤