




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第十五章第十五章 程序調試與出錯處置程序調試與出錯處置 本章要求本章要求: 1. 掌握掌握VB程序調試方法程序調試方法 2. 學會查找和修正和分析程序錯誤學會查找和修正和分析程序錯誤的方法的方法 3. 了解錯誤處置的方法:捕捉錯誤了解錯誤處置的方法:捕捉錯誤,設計的程序來處置不同錯誤。,設計的程序來處置不同錯誤。 4. 了解程序的打包和發(fā)布。了解程序的打包和發(fā)布。1編譯錯誤編譯錯誤 指由于違反了指由于違反了VB的有關語法而產生的錯誤的有關語法而產生的錯誤也稱語法錯誤。常見的編譯錯誤有:也稱語法錯誤。常見的編譯錯誤有:15.1 常見錯誤類型Visual Basic程序的錯誤分為:編譯錯誤運轉時錯
2、誤邏輯錯誤1標點符號錯程序中只能運用西文標點;關鍵字輸入錯例:Dim寫成Din;一行語句沒有寫完好等, 2 2對象稱號對象稱號NameName屬性寫錯;屬性寫錯;3 3對象的屬性名、方法名,內部函數(shù)名寫錯;對象的屬性名、方法名,內部函數(shù)名寫錯;4 4變量未定義或變量名寫錯可在通用聲明段加變量未定義或變量名寫錯可在通用聲明段加Option Option ExplicitExplicit,采用變量顯式聲明;,采用變量顯式聲明;3 3塊塊IfIf沒有對應的沒有對應的End IfEnd If語句;語句;ForFor循環(huán)沒有對應的循環(huán)沒有對應的NextNext語句;語句;DoDo循環(huán)沒有對應的循環(huán)沒有對
3、應的LoopLoop語句等,這類錯誤當語句等,這類錯誤當VBVB開場運開場運轉時提示出錯信息,且將出錯位置用反色顯示,轉時提示出錯信息,且將出錯位置用反色顯示,2 運轉錯誤運轉錯誤 VB在運轉代碼時指令代碼執(zhí)行了一非在運轉代碼時指令代碼執(zhí)行了一非法操作引起的誤指。例如,除法時分母為法操作引起的誤指。例如,除法時分母為零,被操作的驅動器未預備好或磁盤讀寫零,被操作的驅動器未預備好或磁盤讀寫有錯。或數(shù)組下標超界、數(shù)據(jù)溢出等。有錯。或數(shù)組下標超界、數(shù)據(jù)溢出等。運轉出錯也將彈出一個子窗口,提示出錯運轉出錯也將彈出一個子窗口,提示出錯信息。信息。3 邏輯錯誤邏輯錯誤 程序存在邏輯上的缺陷引起程序運轉后,
4、得不程序存在邏輯上的缺陷引起程序運轉后,得不到所期望的結果。到所期望的結果。 例如,運用了不正確的變量類型或指令的次序例如,運用了不正確的變量類型或指令的次序不對。又如,循環(huán)中起終值不正確。邏輯錯誤也可不對。又如,循環(huán)中起終值不正確。邏輯錯誤也可以產生運轉錯誤。通常,邏輯錯誤不會產生錯誤提以產生運轉錯誤。通常,邏輯錯誤不會產生錯誤提示信息,需求程序員仔細地閱讀分析程序。示信息,需求程序員仔細地閱讀分析程序。15.2 VB6.0系統(tǒng)調試工具系統(tǒng)調試工具15.2.1 設置自動語法檢測設置自動語法檢測 在在VBVB集成開發(fā)環(huán)境集成開發(fā)環(huán)境中,選擇中,選擇“工具菜單工具菜單的的“選項命令,再在選項命令
5、,再在翻開的翻開的“選項對話框選項對話框中選中選“編輯器標簽,編輯器標簽, 15.2.2 VB調試工具調試工具 Visual Basic 的調試包括:斷點、中斷表達式、監(jiān)視表達式、經過代碼一次經過一個語句或一個過程、顯示變量和屬性的值。 1、 調試工具欄調試工具欄15.3 調試和排錯方法調試和排錯方法15.3.1 VB的三種任務方式的三種任務方式 設計方式、運轉方式和中斷方式15.3.2 控制程序的運轉控制程序的運轉1 1啟動對象及控制程序的運轉啟動對象及控制程序的運轉1逐語句運轉2逐過程運轉3從過程中跳出 2 2 設置斷點設置斷點15.3.3 程序調試窗口程序調試窗口 有三個調試窗口,它們是
6、:有三個調試窗口,它們是:“立刻窗口、立刻窗口、“監(jiān)視窗口、和監(jiān)視窗口、和“本地窗口。可單擊視圖菜單本地窗口??蓡螕粢晥D菜單中的對應命令翻開這些窗口。中的對應命令翻開這些窗口。 1“立刻窗口 顯示代碼中正在調試的語句所產生的信息,或直接往窗口中鍵入的命令所懇求的信息。 2在中斷方式下,可自動顯示出一切在當前過程中的變量聲明及變量值。單擊調試工具欄上的“本地窗口按扭或選擇“視圖菜單的“本地窗口顯示,如圖15-8所示。 3 “監(jiān)視窗口顯示當前的監(jiān)視表達式,在代碼運轉過程中可決議能否監(jiān)控這些表達式的值。 例例15.115.1、調試第六章例、調試第六章例6.46.4傳值、傳址例題,察看變量的真假傳值、
7、傳址例題,察看變量的真假結合過程。結合過程。15.4 出錯處置出錯處置 所謂錯誤處置,就是允許編寫的運用程序對錯誤進展呼應。當一個錯誤發(fā)生了,程序能捕捉到這一錯誤,并可按程序設計者事先設計的方法來處置這一錯誤。常規(guī)下經過以下步驟在運用程序中添加指令捕捉和處置運轉錯誤:1、設置錯誤圈套 在程序適當?shù)牡胤絽⑴c一些語句來捕捉錯誤,一旦錯誤發(fā)生,程序的運轉將轉移到錯誤處置程序,根據(jù)所捕獲到的錯誤代碼通知運用程序該當怎樣操作。2、編寫錯誤處置程序 當程序中出現(xiàn)運轉錯誤時,程序的運轉將轉到錯誤處置程序,錯誤處置程序根據(jù)可預知的錯誤類型決議采取何種措施。 1 設置錯誤圈套 運用On Error語句可設置圈套
8、,捕捉錯誤。On Error語句有如下方式: (1) On Error Resume Next發(fā)生錯誤時,忽略錯誤行,繼續(xù)執(zhí)行下一語句。 (2) On Error GoTo 語句標號發(fā)生錯誤時,使程序轉跳到語句標號所指示的程序塊。 (3) On Error GoTo 0表示當發(fā)生錯誤時,不運用錯誤處置程序塊。 2編寫錯誤處置程序 編寫錯誤處置程序普通要運用到Err 對象,它是一個系統(tǒng)對象,可以經過Err對象來獲取錯誤的音訊。當出現(xiàn)VB錯誤時,有關錯誤的信息存儲在Err對象中。Err對象每次只維護一個錯誤的信息。當出現(xiàn)新的錯誤時,Err對象將更新為新的錯誤信息。Err 對象的缺省屬性是Numbe
9、r屬性。當運轉時錯誤發(fā)生時,Err對象的屬性被填入明確識別錯誤的信息以及處置這個錯誤所運用的信息。 當On Error捕捉到錯誤后,Err對象的屬性Number指示對應錯誤號。在錯誤處置程序塊中可運用“Select Case Err.Number或“If Err.Number = 語句編寫出錯處置。 例如,下面的例如,下面的TestTest過程是過程是Number Number 屬性在錯誤處置過屬性在錯誤處置過程中的典型用法。程中的典型用法。 Private Sub test() On Error GoTo out Dim x, y x = 1 / y 引發(fā)一個引發(fā)一個“除以零的錯誤除以零的錯
10、誤 Exit Sub out: MsgBox Err.Number MsgBox Err.Description 檢查能否發(fā)生檢查能否發(fā)生“除以零的錯誤除以零的錯誤 If Err.Number = 11 Then y = y + 1 End If ResumeEnd Sub3 3退出錯誤處置退出錯誤處置在錯誤處置程序中,當遇到在錯誤處置程序中,當遇到 Exit SubExit Sub、Exit Exit FunctionFunction、End SubEnd Sub、End FunctionEnd Function等語句時,將等語句時,將退出錯誤捕獲。退出錯誤捕獲。在錯誤處置程序終了后,要恢復
11、原有的運轉??捎迷阱e誤處置程序終了后,要恢復原有的運轉。可用Resume Resume 語句。語句。語法:語法:1 1Resume Resume 重新執(zhí)行產生錯誤的語句重新執(zhí)行產生錯誤的語句2 2Resume NextResume Next 重新執(zhí)行產生錯誤的語句的下一語句重新執(zhí)行產生錯誤的語句的下一語句3 3Resume Resume 語句標號語句標號 從語句標號初恢復執(zhí)從語句標號初恢復執(zhí)行行 普通來說,一些可以修正的錯誤,可運用普通來說,一些可以修正的錯誤,可運用 ResumeResume,而在錯誤處置程序不能修正錯誤時運用,而在錯誤處置程序不能修正錯誤時運用 Resume NextRes
12、ume Next或或Resume Resume 語句標號。語句標號。 例例15.2 15.2 編寫一個判別一個給定的文件能否存在的函數(shù),編寫一個判別一個給定的文件能否存在的函數(shù),并能處置無效驅動器或軟盤驅動器沒有磁盤等設備出錯問并能處置無效驅動器或軟盤驅動器沒有磁盤等設備出錯問題。題。 例例15.3 15.3 編寫簡單的錯誤處置程序。處置當在文本中輸編寫簡單的錯誤處置程序。處置當在文本中輸入數(shù)據(jù)超越整型數(shù)的最大值入數(shù)據(jù)超越整型數(shù)的最大值3276732767時給出錯誤提示,并可時給出錯誤提示,并可重新輸入。重新輸入。15.5 生成執(zhí)行文件和制造安裝程序生成執(zhí)行文件和制造安裝程序15.5.1 生成執(zhí)行文件生成執(zhí)行文件 從“文件菜單中選取“生成projectname.exe,將翻開“生成工程對話框,如圖15-17所示。這里“projectname 是工程的運用程序名。 15.5.2 運用安裝導游創(chuàng)建安裝程序運用安裝導游創(chuàng)建安裝程序 為運用程序制造安裝
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買賣首付房子合同樣本
- 代理賣房合同樣本
- 水資源珍惜與公眾參與計劃
- 農村鍋爐出租合同范例
- 急診部門協(xié)同工作流程計劃
- 企業(yè)廢料收購合同標準文本
- 入職材料合同標準文本
- 借車位合同樣本
- 供熱工程勞務合同樣本
- 貨架管理與優(yōu)化策略計劃
- SJG 04-2015 深圳市地基處理技術規(guī)范
- 2025年中能建投六盤水電力有限公司招聘筆試參考題庫含答案解析
- GB/T 45159.1-2024機械振動與沖擊黏彈性材料動態(tài)力學性能的表征第1部分:原理和指南
- 2025醫(yī)保政策培訓
- DB50-T 1715-2024 城市橋梁變形觀測技術規(guī)范
- 《某畜禽養(yǎng)殖廠廢水處理工藝設計》11000字
- 棗莊市人力資源和社會保障局勞動合同(示范文本)
- 胸腔積液診斷與治療
- 晨光醫(yī)院救護車駕駛員考試題
- 《常用滅火器常識》課件
- 二年級家庭教育講座省公開課獲獎課件市賽課比賽一等獎課件
評論
0/150
提交評論