程序調試與出錯處理_第1頁
程序調試與出錯處理_第2頁
程序調試與出錯處理_第3頁
程序調試與出錯處理_第4頁
程序調試與出錯處理_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第十五章 程序調試與出錯處理,本章要求: 1. 掌握VB程序調試方法 2. 學會查找和修改和分析程序錯誤的方法 3. 了解錯誤處理的方法:捕捉錯誤,設計的程序來處理不同錯誤。 4. 了解程序的打包和發(fā)布。,1編譯錯誤 指由于違反了VB的有關語法而產生的錯誤(也稱語法錯誤)。常見的編譯錯誤有:,15.1 常見錯誤類型,Visual Basic程序的錯誤分為: 編譯錯誤 運行時錯誤 邏輯錯誤,(1)標點符號錯(程序中只能使用西文標點);關鍵字輸入錯(例:Dim寫成Din);一行語句沒有寫完整等,,(2)對象名稱(Name屬性)寫錯; (3)對象的屬性名、方法名,內部函數名寫錯; (4)變量未定義或

2、變量名寫錯(可在通用聲明段加Option Explicit,采用變量顯式聲明); (3)塊If沒有對應的End If語句;For循環(huán)沒有對應的Next語句;Do循環(huán)沒有對應的Loop語句等,這類錯誤當VB開始運行時提示出錯信息,且將出錯位置用反色顯示,,2 運行錯誤 VB在運行代碼時指令代碼執(zhí)行了一非法操作引起的誤指。例如,除法時分母為零,被操作的驅動器未準備好或磁盤讀寫有錯?;驍到M下標超界、數據溢出等。 運行出錯也將彈出一個子窗口,提示出錯信息。,3 邏輯錯誤 程序存在邏輯上的缺陷引起程序運行后,得不到所期望的結果。 例如,使用了不正確的變量類型或指令的次序不對。又如,循環(huán)中起終值不正確。邏

3、輯錯誤也可以產生運行錯誤。通常,邏輯錯誤不會產生錯誤提示信息,需要程序員仔細地閱讀分析程序。,15.2 VB6.0系統調試工具,15.2.1 設置自動語法檢測,在VB集成開發(fā)環(huán)境中,選擇“工具”菜單的“選項”命令,再在打開的“選項”對話框中選“編輯器”標簽,,15.2.2 VB調試工具,Visual Basic 的調試包括:斷點、中斷表達式、監(jiān)視表達式、通過代碼一次經過一個語句或一個過程、顯示變量和屬性的值。,1、 調試工具欄,15.3 調試和排錯方法,15.3.1 VB的三種工作模式,設計模式、運行模式和中斷模式,15.3.2 控制程序的運行,1啟動對象及控制程序的運行,(1)逐語句運行,(

4、2)逐過程運行,(3)從過程中跳出,2 設置斷點,15.3.3 程序調試窗口 有三個調試窗口,它們是:“立即”窗口、“監(jiān)視”窗口、和“本地”窗口。可單擊視圖菜單中的對應命令打開這些窗口。,(1)“立即”窗口 顯示代碼中正在調試的語句所產生的信息,或直接往窗口中鍵入的命令所請求的信息。,(2)在中斷模式下,可自動顯示出所有在當前過程中的變量聲明及變量值。(單擊調試工具欄上的“本地窗口”按扭或選擇“視圖”菜單的“本地窗口”顯示),如圖15-8所示。,(3) “監(jiān)視”窗口顯示當前的監(jiān)視表達式,在代碼運行過程中可決定是否監(jiān)控這些表達式的值。,例15.1、調試第六章例6.4傳值、傳址例題,觀察變量的虛實

5、結合過程。,15.4 出錯處理,所謂錯誤處理,就是允許編寫的應用程序對錯誤進行響應。當一個錯誤發(fā)生了,程序能捕捉到這一錯誤,并可按程序設計者事先設計的方法來處理這一錯誤。常規(guī)下通過以下步驟在應用程序中增加指令捕捉和處理運行錯誤: 1、設置錯誤陷阱 在程序適當的地方加入一些語句來捕捉錯誤,一旦錯誤發(fā)生,程序的運行將轉移到錯誤處理程序,根據所捕獲到的錯誤代碼告訴應用程序應當怎樣操作。 2、編寫錯誤處理程序 當程序中出現運行錯誤時,程序的運行將轉到錯誤處理程序,錯誤處理程序根據可預知的錯誤類型決定采取何種措施。,1 設置錯誤陷阱 使用On Error語句可設置陷阱,捕捉錯誤。On Error語句有如

6、下形式: (1) On Error Resume Next 發(fā)生錯誤時,忽略錯誤行,繼續(xù)執(zhí)行下一語句。 (2) On Error GoTo 語句標號 發(fā)生錯誤時,使程序轉跳到語句標號所指示的程序塊。 (3) On Error GoTo 0 表示當發(fā)生錯誤時,不使用錯誤處理程序塊。,2編寫錯誤處理程序 編寫錯誤處理程序一般要使用到Err 對象,它是一個系統對象,可以通過Err對象來獲取錯誤的消息。當出現VB錯誤時,有關錯誤的信息存儲在Err對象中。Err對象每次只維護一個錯誤的信息。當出現新的錯誤時,Err對象將更新為新的錯誤信息。 Err 對象的缺省屬性是Number屬性。當運行時錯誤發(fā)生時,

7、Err對象的屬性被填入明確識別錯誤的信息以及處理這個錯誤所使用的信息。 當On Error捕捉到錯誤后,Err對象的屬性Number指示對應錯誤號。在錯誤處理程序塊中可使用“Select Case Err.Number”或“If Err.Number = ”語句編寫出錯處理。,例如,下面的Test過程是Number 屬性在錯誤處理過程中的典型用法。,Private Sub test() On Error GoTo out Dim x, y x = 1 / y 引發(fā)一個“除以零”的錯誤 Exit Sub out: MsgBox Err.Number MsgBox Err.Description

8、檢查是否發(fā)生“除以零”的錯誤 If Err.Number = 11 Then y = y + 1 End If Resume End Sub,3退出錯誤處理 在錯誤處理程序中,當遇到 Exit Sub、Exit Function、End Sub、End Function等語句時,將退出錯誤捕獲。 在錯誤處理程序結束后,要恢復原有的運行??捎肦esume 語句。 語法: (1)Resume 重新執(zhí)行產生錯誤的語句 (2)Resume Next 重新執(zhí)行產生錯誤的語句的下一語句 (3)Resume 語句標號 從語句標號初恢復執(zhí)行 一般來說,一些可以修正的錯誤,可使用 Resume,而在錯誤處理程序

9、不能修正錯誤時使用 Resume Next或Resume 語句標號。,例15.2 編寫一個判斷一個給定的文件是否存在的函數,并能處理無效驅動器或軟盤驅動器沒有磁盤等設備出錯問題。,例15.3 編寫簡單的錯誤處理程序。處理當在文本中輸入數據超過整型數的最大值32767時給出錯誤提示,并可重新輸入。,15.5 生成執(zhí)行文件和制作安裝程序,15.5.1 生成執(zhí)行文件,從“文件”菜單中選取“生成projectname.exe”,將打開“生成工程”對話框,如圖15-17所示。這里“projectname” 是工程的應用程序名。,15.5.2 使用安裝向導創(chuàng)建安裝程序,為應用程序制作安裝程序,打包是創(chuàng)建一個軟件包的操作,該軟件包可以將你的應用程序安裝到用戶的計算機上。軟件包由一個或

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論