版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
程序調(diào)試的方法程序調(diào)試的方法1程序調(diào)試的主要任務(wù):查找程序的錯(cuò)誤和排除錯(cuò)誤主要內(nèi)容:VB程序中的錯(cuò)誤類型程序工作模式程序調(diào)試錯(cuò)誤處理程序調(diào)試的主要任務(wù):查找程序的錯(cuò)誤和排除錯(cuò)誤2錯(cuò)誤的類型:編譯錯(cuò)誤,邏輯錯(cuò)誤和運(yùn)行錯(cuò)誤1.編譯錯(cuò)誤編譯錯(cuò)誤是指在程序編譯過(guò)程中出現(xiàn)的錯(cuò)誤。通常是由于不正確書寫代碼而產(chǎn)生的。例:關(guān)鍵字寫錯(cuò),遺漏標(biāo)點(diǎn)符號(hào),括號(hào)不匹配等,較為容易。VB提供了自動(dòng)語(yǔ)法檢查功能,能指出并顯示這些錯(cuò)誤,幫助用戶糾正語(yǔ)法錯(cuò)誤。例子:Foort=1To100錯(cuò)誤的類型:32.運(yùn)行錯(cuò)誤
運(yùn)行時(shí)的錯(cuò)誤是指應(yīng)用程序在運(yùn)行期間執(zhí)行了非法操作所發(fā)生的錯(cuò)誤。例:除法運(yùn)算中除數(shù)為零,訪問(wèn)文件時(shí)文件夾或文件找不到等。這種錯(cuò)誤只有在程序運(yùn)行時(shí)才能被發(fā)現(xiàn)。舉例(“下標(biāo)越界”):PrivateSubForm_Load()
DimD(20)AsInteger,kAsInteger
Fork=1To30
D(k)=k*K
Nextk
EndSub2.運(yùn)行錯(cuò)誤
運(yùn)行時(shí)的錯(cuò)誤是指應(yīng)用程序在運(yùn)行期間43.邏輯錯(cuò)誤
邏輯錯(cuò)誤使程序運(yùn)行時(shí)得不到預(yù)期的結(jié)果。這種程序沒(méi)有語(yǔ)法錯(cuò)誤,也能運(yùn)行,但卻得不到正確的結(jié)果。例:在一個(gè)算術(shù)表達(dá)式中,把乘號(hào)“*”寫成了加號(hào)“+”,條件語(yǔ)句的條件寫錯(cuò),循環(huán)次數(shù)計(jì)算錯(cuò)誤等
3.邏輯錯(cuò)誤
邏輯錯(cuò)誤使程序運(yùn)行時(shí)得不到預(yù)期的結(jié)5例如,要求10,若采用:
PrivateSubForm_Load()
DimtAsInteger
Fori=1To10
t=t*i
Nexti
Show:Printt
EndSub
運(yùn)行程序時(shí)輸出的結(jié)果是0通常,調(diào)試程序過(guò)程中所花的大部分時(shí)間和精力都在邏輯錯(cuò)誤上例如,要求10,若采用:
Private6程序工作模式:設(shè)計(jì)模式、運(yùn)行模式和中斷模式1.設(shè)計(jì)模式
在設(shè)計(jì)模式下,可以建立應(yīng)用程序的用戶界面,設(shè)置控件的屬性,編寫程序代碼等程序工作模式:72.運(yùn)行模式
在運(yùn)行模式下,可以測(cè)試程序的運(yùn)行結(jié)果,可以與應(yīng)用程序?qū)υ挘€可以查看程序代碼,但不能修改程序3.中斷模式
在中斷模式下,可以利用各種調(diào)試手段檢查或更改某些變量或表達(dá)式的值,或者在斷點(diǎn)附近單步執(zhí)行程序,以便發(fā)現(xiàn)錯(cuò)誤或改正錯(cuò)誤2.運(yùn)行模式
在運(yùn)行模式下,可以測(cè)試程序的運(yùn)行結(jié)果8
進(jìn)入中斷模式的方法:
(1)在代碼中插入Stop語(yǔ)句;
(2)在代碼窗口中設(shè)置斷點(diǎn)(用菜單命令);
(3)在代碼窗口中設(shè)置斷點(diǎn)(鼠標(biāo)操作);
(4)在程序運(yùn)行時(shí)強(qiáng)制“中斷”;
(5)當(dāng)程序運(yùn)行出現(xiàn)錯(cuò)誤。
當(dāng)檢查調(diào)試通過(guò)后,需要清除斷點(diǎn)進(jìn)入中斷模式的方法:
(1)在代碼9粵教版高中信息技術(shù)選修1算法與程序設(shè)計(jì):程序調(diào)試的方法課件10使用“調(diào)試”菜單或“調(diào)試”工具欄
1.切換斷點(diǎn)
“切換斷點(diǎn)”按鈕用來(lái)設(shè)置斷點(diǎn)2.逐語(yǔ)句
VB允許逐條語(yǔ)句執(zhí)行程序,每執(zhí)行一條語(yǔ)句后就返回中斷模式。
如果執(zhí)行的是過(guò)程調(diào)用的代碼(如Call),“逐語(yǔ)句”操作也會(huì)跟蹤到被調(diào)過(guò)程中繼續(xù)一條語(yǔ)句一條語(yǔ)句的執(zhí)行
使用“調(diào)試”菜單或“調(diào)試”工具欄
1.113.逐過(guò)程逐過(guò)程執(zhí)行是以整個(gè)函數(shù)或過(guò)程為一個(gè)整體,一次執(zhí)行。逐過(guò)程與逐語(yǔ)句一樣,能夠一條語(yǔ)句一條語(yǔ)句地執(zhí)行代碼。把被調(diào)用的函數(shù)或過(guò)程當(dāng)作一個(gè)語(yǔ)句來(lái)看待。4.跳出
單擊“調(diào)試”工具欄上的“跳出”按鈕,則VB將連續(xù)執(zhí)行完該過(guò)程的其余部分,返回調(diào)用過(guò)程的下一條語(yǔ)句并回復(fù)中斷模式。3.逐過(guò)程12
5.本地窗口
顯示當(dāng)前過(guò)程中所有變量和活動(dòng)窗體的所有屬性值
Me代表當(dāng)前窗體;單擊“+”號(hào)或“-”號(hào)6.立即窗口
可以檢查某個(gè)屬性或者變量的值,也可以對(duì)表達(dá)式求值,或?yàn)樽兞炕驅(qū)傩再x值等7.監(jiān)視窗口
對(duì)用戶定義的表達(dá)式進(jìn)行監(jiān)視
5.本地窗口13
例1計(jì)算t=0.1+0.2+0.3+……+0.9+1
編寫的程序代碼如下:
PrivateSubForm_Load()ShowDimtAsSingle,iAsSinglet=0Fori=0.1To1Step0.1t=t+iNextiPrint"總和:";tEndSub
運(yùn)行結(jié)果為:總和:4.5
這不是正確的答案,正確結(jié)果應(yīng)是5.5例1計(jì)算t=0.1+0.2+0.3+14
1.在代碼窗口中設(shè)置斷點(diǎn)。為了了解循環(huán)過(guò)程中變量i和t的變化情況,可在語(yǔ)句t=t+i
處設(shè)置斷點(diǎn)。
1.在代碼窗口中設(shè)置斷點(diǎn)。為了了解循環(huán)15
2.重新運(yùn)行程序。程序在斷點(diǎn)處中斷運(yùn)行,進(jìn)入中斷模式
2.重新運(yùn)行程序。程序在斷點(diǎn)處中斷運(yùn)行,進(jìn)入中斷模式16
3.單擊“調(diào)試”工具欄上的“本地窗口”按鈕,利用本地窗口來(lái)監(jiān)視過(guò)程中各量及屬性值的變化情況3.單擊“調(diào)試”工具欄上的“本地窗口”174.單擊“調(diào)試”工具欄上的“逐語(yǔ)句”按鈕,讓程序單步執(zhí)行?!氨镜卮翱凇睍?huì)顯示出程序中所用變量的當(dāng)前值
5.連續(xù)單擊“逐語(yǔ)句”按鈕,使程序在For語(yǔ)句循環(huán)執(zhí)行9次,此時(shí)本地窗口顯示的變量值如圖所示
4.單擊“調(diào)試”工具欄上的“逐語(yǔ)句”按鈕,讓程序單步18
6.再次單擊“逐語(yǔ)句”按鈕。程序不再繼續(xù)循環(huán),而是退出循環(huán),去執(zhí)行Nexti下一個(gè)的Print語(yǔ)句。
可以發(fā)現(xiàn)上述循環(huán)語(yǔ)句只是循環(huán)9次。本來(lái)應(yīng)該循環(huán)10次,但由于小數(shù)點(diǎn)在機(jī)器內(nèi)存儲(chǔ)和處理會(huì)發(fā)生微小誤差,當(dāng)執(zhí)行到第9次循環(huán)時(shí),循環(huán)變量i的值為0.9000001,再加上步長(zhǎng)值0.1時(shí),已經(jīng)超過(guò)1,往下就不再執(zhí)行循環(huán)體了。所以實(shí)際上才循環(huán)9次,即只計(jì)算0.1+0.2+0.3+…+0.9(=4.5)6.再次單擊“逐語(yǔ)句”按鈕。程序不19
當(dāng)步長(zhǎng)值為小數(shù)時(shí),為了防止丟失循環(huán)次數(shù),可將終值適當(dāng)增加,一般是加上步長(zhǎng)值的一半,例如:
Fori=0.1To1.05Step0.1
調(diào)試程序往往比寫程序更難當(dāng)步長(zhǎng)值為小數(shù)時(shí),為了防止丟失循環(huán)20
由于應(yīng)用環(huán)境等的改變,有時(shí)程序還會(huì)出現(xiàn)錯(cuò)誤。例如文件未找到等。這類“運(yùn)行時(shí)錯(cuò)誤”并非致命的錯(cuò)誤。
對(duì)于這些可預(yù)見的錯(cuò)誤,可以利用VB的錯(cuò)誤處理程序捕獲它,對(duì)其進(jìn)行適當(dāng)?shù)奶幚恚⑹钩绦蚶^續(xù)執(zhí)行。這樣就能夠使開發(fā)的軟件具有更強(qiáng)的適應(yīng)性。由于應(yīng)用環(huán)境等的改變,有時(shí)程序還會(huì)21錯(cuò)誤處理的步驟:
(1)利用Err對(duì)象記錄錯(cuò)誤的類型、出錯(cuò)原因等。
(2)強(qiáng)制轉(zhuǎn)移到用戶自編的“錯(cuò)誤處理程序段”的入口。
(3)在“錯(cuò)誤處理程序段”內(nèi),根據(jù)具體錯(cuò)誤進(jìn)行處理,如果問(wèn)題有解決方法,則在處理后返回原程序某處繼續(xù)執(zhí)行,否則,停止程序執(zhí)行錯(cuò)誤處理的步驟:22退出錯(cuò)誤處理語(yǔ)句(Resume)
當(dāng)指定的錯(cuò)誤處理完成后,應(yīng)該控制程序返回到合適的位置繼續(xù)執(zhí)行。返回語(yǔ)句Resume有三種用法:
(1)Resume[0]:程序返回到出錯(cuò)語(yǔ)句處繼續(xù)執(zhí)行。
(2)ResumeNext:程序返回到出錯(cuò)語(yǔ)句的下一語(yǔ)句。
(3)Resume標(biāo)號(hào):程序返回到標(biāo)號(hào)處繼續(xù)執(zhí)行。退出錯(cuò)誤處理語(yǔ)句(Resume)23輸入某個(gè)數(shù),求該數(shù)的平方根。當(dāng)用戶輸入負(fù)數(shù)時(shí),使用OnError...Resume進(jìn)行處理PrivateSubForm_Load()DimxAsSingle,yAsSingle,iAsStringOnErrorGoTo
errln'以下出錯(cuò)時(shí)轉(zhuǎn)移到errlnShow:i=""‘i
為實(shí)數(shù)標(biāo)記x=Val(InputBox("請(qǐng)輸入一個(gè)數(shù)"))y=Sqr(x)Printy;i:ExitSub‘顯示及退出過(guò)程errln:'標(biāo)號(hào)IfErr.Number=5Then'本錯(cuò)誤的錯(cuò)誤碼為5x=-x'轉(zhuǎn)換為正數(shù)
i="i"'復(fù)數(shù)標(biāo)記Resume'返回Else'其他錯(cuò)誤處理MsgBox("錯(cuò)誤發(fā)生在"&Err.Source&",代碼為"&_
Err.Number&",即"&Err.Description)EndEndIfEndSub錯(cuò)誤處理程序示例輸入某個(gè)數(shù),求該數(shù)的平方根。錯(cuò)誤處理程序示例24
程序運(yùn)行時(shí),當(dāng)用戶輸入一個(gè)正數(shù)時(shí),則顯示出該數(shù)的平方根;如果輸入的是一個(gè)負(fù)數(shù),則因求負(fù)數(shù)的平方根(通過(guò)函數(shù)Sqr())而出錯(cuò),此時(shí)會(huì)跳轉(zhuǎn)到錯(cuò)誤處理程序段。在錯(cuò)誤處理程序段中,先判斷錯(cuò)誤碼,若是5(即發(fā)生求負(fù)數(shù)的平方根的錯(cuò)誤),則將該負(fù)數(shù)轉(zhuǎn)換為正數(shù),設(shè)置復(fù)數(shù)標(biāo)記,然后執(zhí)行Resume語(yǔ)句返回到原出錯(cuò)處繼續(xù)執(zhí)行。如果發(fā)生的不是錯(cuò)誤5,則顯示有關(guān)信息后強(qiáng)制結(jié)束程序運(yùn)行時(shí),當(dāng)用戶輸入一個(gè)正數(shù)時(shí),則顯示25常見錯(cuò)誤1.使用中文標(biāo)點(diǎn)符號(hào)系統(tǒng)產(chǎn)生“無(wú)效字符”,紅色表示2.字母和數(shù)字形狀相似如’1’和’l’,’0’和’o’3.對(duì)象名稱(Name)寫錯(cuò)4.對(duì)象屬性名、方法名或標(biāo)準(zhǔn)函數(shù)名寫錯(cuò)盡量使用自動(dòng)列出成員功常見錯(cuò)誤1.使用中文標(biāo)點(diǎn)符號(hào)265.無(wú)意形成控件數(shù)組建立控件時(shí)小心使用復(fù)制、粘貼功能6.打開工程時(shí)找不到對(duì)應(yīng)文件保存文件時(shí)先保存窗體文件(.frm),再保存工程文件(.vbp),注意路徑常見錯(cuò)誤5.無(wú)意形成控件數(shù)組常見錯(cuò)誤27謝謝!謝謝!28程序調(diào)試的方法程序調(diào)試的方法29程序調(diào)試的主要任務(wù):查找程序的錯(cuò)誤和排除錯(cuò)誤主要內(nèi)容:VB程序中的錯(cuò)誤類型程序工作模式程序調(diào)試錯(cuò)誤處理程序調(diào)試的主要任務(wù):查找程序的錯(cuò)誤和排除錯(cuò)誤30錯(cuò)誤的類型:編譯錯(cuò)誤,邏輯錯(cuò)誤和運(yùn)行錯(cuò)誤1.編譯錯(cuò)誤編譯錯(cuò)誤是指在程序編譯過(guò)程中出現(xiàn)的錯(cuò)誤。通常是由于不正確書寫代碼而產(chǎn)生的。例:關(guān)鍵字寫錯(cuò),遺漏標(biāo)點(diǎn)符號(hào),括號(hào)不匹配等,較為容易。VB提供了自動(dòng)語(yǔ)法檢查功能,能指出并顯示這些錯(cuò)誤,幫助用戶糾正語(yǔ)法錯(cuò)誤。例子:Foort=1To100錯(cuò)誤的類型:312.運(yùn)行錯(cuò)誤
運(yùn)行時(shí)的錯(cuò)誤是指應(yīng)用程序在運(yùn)行期間執(zhí)行了非法操作所發(fā)生的錯(cuò)誤。例:除法運(yùn)算中除數(shù)為零,訪問(wèn)文件時(shí)文件夾或文件找不到等。這種錯(cuò)誤只有在程序運(yùn)行時(shí)才能被發(fā)現(xiàn)。舉例(“下標(biāo)越界”):PrivateSubForm_Load()
DimD(20)AsInteger,kAsInteger
Fork=1To30
D(k)=k*K
Nextk
EndSub2.運(yùn)行錯(cuò)誤
運(yùn)行時(shí)的錯(cuò)誤是指應(yīng)用程序在運(yùn)行期間323.邏輯錯(cuò)誤
邏輯錯(cuò)誤使程序運(yùn)行時(shí)得不到預(yù)期的結(jié)果。這種程序沒(méi)有語(yǔ)法錯(cuò)誤,也能運(yùn)行,但卻得不到正確的結(jié)果。例:在一個(gè)算術(shù)表達(dá)式中,把乘號(hào)“*”寫成了加號(hào)“+”,條件語(yǔ)句的條件寫錯(cuò),循環(huán)次數(shù)計(jì)算錯(cuò)誤等
3.邏輯錯(cuò)誤
邏輯錯(cuò)誤使程序運(yùn)行時(shí)得不到預(yù)期的結(jié)33例如,要求10,若采用:
PrivateSubForm_Load()
DimtAsInteger
Fori=1To10
t=t*i
Nexti
Show:Printt
EndSub
運(yùn)行程序時(shí)輸出的結(jié)果是0通常,調(diào)試程序過(guò)程中所花的大部分時(shí)間和精力都在邏輯錯(cuò)誤上例如,要求10,若采用:
Private34程序工作模式:設(shè)計(jì)模式、運(yùn)行模式和中斷模式1.設(shè)計(jì)模式
在設(shè)計(jì)模式下,可以建立應(yīng)用程序的用戶界面,設(shè)置控件的屬性,編寫程序代碼等程序工作模式:352.運(yùn)行模式
在運(yùn)行模式下,可以測(cè)試程序的運(yùn)行結(jié)果,可以與應(yīng)用程序?qū)υ?,還可以查看程序代碼,但不能修改程序3.中斷模式
在中斷模式下,可以利用各種調(diào)試手段檢查或更改某些變量或表達(dá)式的值,或者在斷點(diǎn)附近單步執(zhí)行程序,以便發(fā)現(xiàn)錯(cuò)誤或改正錯(cuò)誤2.運(yùn)行模式
在運(yùn)行模式下,可以測(cè)試程序的運(yùn)行結(jié)果36
進(jìn)入中斷模式的方法:
(1)在代碼中插入Stop語(yǔ)句;
(2)在代碼窗口中設(shè)置斷點(diǎn)(用菜單命令);
(3)在代碼窗口中設(shè)置斷點(diǎn)(鼠標(biāo)操作);
(4)在程序運(yùn)行時(shí)強(qiáng)制“中斷”;
(5)當(dāng)程序運(yùn)行出現(xiàn)錯(cuò)誤。
當(dāng)檢查調(diào)試通過(guò)后,需要清除斷點(diǎn)進(jìn)入中斷模式的方法:
(1)在代碼37粵教版高中信息技術(shù)選修1算法與程序設(shè)計(jì):程序調(diào)試的方法課件38使用“調(diào)試”菜單或“調(diào)試”工具欄
1.切換斷點(diǎn)
“切換斷點(diǎn)”按鈕用來(lái)設(shè)置斷點(diǎn)2.逐語(yǔ)句
VB允許逐條語(yǔ)句執(zhí)行程序,每執(zhí)行一條語(yǔ)句后就返回中斷模式。
如果執(zhí)行的是過(guò)程調(diào)用的代碼(如Call),“逐語(yǔ)句”操作也會(huì)跟蹤到被調(diào)過(guò)程中繼續(xù)一條語(yǔ)句一條語(yǔ)句的執(zhí)行
使用“調(diào)試”菜單或“調(diào)試”工具欄
1.393.逐過(guò)程逐過(guò)程執(zhí)行是以整個(gè)函數(shù)或過(guò)程為一個(gè)整體,一次執(zhí)行。逐過(guò)程與逐語(yǔ)句一樣,能夠一條語(yǔ)句一條語(yǔ)句地執(zhí)行代碼。把被調(diào)用的函數(shù)或過(guò)程當(dāng)作一個(gè)語(yǔ)句來(lái)看待。4.跳出
單擊“調(diào)試”工具欄上的“跳出”按鈕,則VB將連續(xù)執(zhí)行完該過(guò)程的其余部分,返回調(diào)用過(guò)程的下一條語(yǔ)句并回復(fù)中斷模式。3.逐過(guò)程40
5.本地窗口
顯示當(dāng)前過(guò)程中所有變量和活動(dòng)窗體的所有屬性值
Me代表當(dāng)前窗體;單擊“+”號(hào)或“-”號(hào)6.立即窗口
可以檢查某個(gè)屬性或者變量的值,也可以對(duì)表達(dá)式求值,或?yàn)樽兞炕驅(qū)傩再x值等7.監(jiān)視窗口
對(duì)用戶定義的表達(dá)式進(jìn)行監(jiān)視
5.本地窗口41
例1計(jì)算t=0.1+0.2+0.3+……+0.9+1
編寫的程序代碼如下:
PrivateSubForm_Load()ShowDimtAsSingle,iAsSinglet=0Fori=0.1To1Step0.1t=t+iNextiPrint"總和:";tEndSub
運(yùn)行結(jié)果為:總和:4.5
這不是正確的答案,正確結(jié)果應(yīng)是5.5例1計(jì)算t=0.1+0.2+0.3+42
1.在代碼窗口中設(shè)置斷點(diǎn)。為了了解循環(huán)過(guò)程中變量i和t的變化情況,可在語(yǔ)句t=t+i
處設(shè)置斷點(diǎn)。
1.在代碼窗口中設(shè)置斷點(diǎn)。為了了解循環(huán)43
2.重新運(yùn)行程序。程序在斷點(diǎn)處中斷運(yùn)行,進(jìn)入中斷模式
2.重新運(yùn)行程序。程序在斷點(diǎn)處中斷運(yùn)行,進(jìn)入中斷模式44
3.單擊“調(diào)試”工具欄上的“本地窗口”按鈕,利用本地窗口來(lái)監(jiān)視過(guò)程中各量及屬性值的變化情況3.單擊“調(diào)試”工具欄上的“本地窗口”454.單擊“調(diào)試”工具欄上的“逐語(yǔ)句”按鈕,讓程序單步執(zhí)行?!氨镜卮翱凇睍?huì)顯示出程序中所用變量的當(dāng)前值
5.連續(xù)單擊“逐語(yǔ)句”按鈕,使程序在For語(yǔ)句循環(huán)執(zhí)行9次,此時(shí)本地窗口顯示的變量值如圖所示
4.單擊“調(diào)試”工具欄上的“逐語(yǔ)句”按鈕,讓程序單步46
6.再次單擊“逐語(yǔ)句”按鈕。程序不再繼續(xù)循環(huán),而是退出循環(huán),去執(zhí)行Nexti下一個(gè)的Print語(yǔ)句。
可以發(fā)現(xiàn)上述循環(huán)語(yǔ)句只是循環(huán)9次。本來(lái)應(yīng)該循環(huán)10次,但由于小數(shù)點(diǎn)在機(jī)器內(nèi)存儲(chǔ)和處理會(huì)發(fā)生微小誤差,當(dāng)執(zhí)行到第9次循環(huán)時(shí),循環(huán)變量i的值為0.9000001,再加上步長(zhǎng)值0.1時(shí),已經(jīng)超過(guò)1,往下就不再執(zhí)行循環(huán)體了。所以實(shí)際上才循環(huán)9次,即只計(jì)算0.1+0.2+0.3+…+0.9(=4.5)6.再次單擊“逐語(yǔ)句”按鈕。程序不47
當(dāng)步長(zhǎng)值為小數(shù)時(shí),為了防止丟失循環(huán)次數(shù),可將終值適當(dāng)增加,一般是加上步長(zhǎng)值的一半,例如:
Fori=0.1To1.05Step0.1
調(diào)試程序往往比寫程序更難當(dāng)步長(zhǎng)值為小數(shù)時(shí),為了防止丟失循環(huán)48
由于應(yīng)用環(huán)境等的改變,有時(shí)程序還會(huì)出現(xiàn)錯(cuò)誤。例如文件未找到等。這類“運(yùn)行時(shí)錯(cuò)誤”并非致命的錯(cuò)誤。
對(duì)于這些可預(yù)見的錯(cuò)誤,可以利用VB的錯(cuò)誤處理程序捕獲它,對(duì)其進(jìn)行適當(dāng)?shù)奶幚?,并使程序繼續(xù)執(zhí)行。這樣就能夠使開發(fā)的軟件具有更強(qiáng)的適應(yīng)性。由于應(yīng)用環(huán)境等的改變,有時(shí)程序還會(huì)49錯(cuò)誤處理的步驟:
(1)利用Err對(duì)象記錄錯(cuò)誤的類型、出錯(cuò)原因等。
(2)強(qiáng)制轉(zhuǎn)移到用戶自編的“錯(cuò)誤處理程序段”的入口。
(3)在“錯(cuò)誤處理程序段”內(nèi),根據(jù)具體錯(cuò)誤進(jìn)行處理,如果問(wèn)題有解決方法,則在處理后返回原程序某處繼續(xù)執(zhí)行,否則,停止程序執(zhí)行錯(cuò)誤處理的步驟:50退出錯(cuò)誤處理語(yǔ)句(Resume)
當(dāng)指定的錯(cuò)誤處理完成后,應(yīng)該控制程序返回到合適的位置繼續(xù)執(zhí)行。返回語(yǔ)句Resume有三種用法:
(1)Resume[0]:程序返回到出錯(cuò)語(yǔ)句處繼續(xù)執(zhí)行。
(2)ResumeNext:程序返回到出錯(cuò)語(yǔ)句的下一語(yǔ)句。
(3)Resume標(biāo)號(hào):程序返回到標(biāo)號(hào)處繼續(xù)執(zhí)行。退出錯(cuò)誤處理語(yǔ)句(Resume)51輸入某個(gè)數(shù),求該數(shù)的平方根。當(dāng)用戶輸入負(fù)數(shù)時(shí),使用OnError...Resume進(jìn)行處理PrivateSubForm_Load()DimxAsSingle,yAsSingle,iAsStringOnErrorGoTo
errln'以下出錯(cuò)時(shí)轉(zhuǎn)移到errlnShow:i=""‘i
為實(shí)數(shù)標(biāo)記x=Val(InputBox("請(qǐng)輸入一個(gè)數(shù)"))y=Sqr(x)Printy;i:ExitSub‘顯示及退出過(guò)程errln:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)醫(yī)學(xué)影像學(xué)(學(xué)術(shù)研究實(shí)務(wù))試題及答案
- 2025年高職石油與天然氣(油氣技術(shù)推廣)試題及答案
- 2026年中職第二學(xué)年(中西面點(diǎn)工藝)西式糕點(diǎn)制作階段測(cè)試題及答案
- 2025年大學(xué)第三學(xué)年(康復(fù)治療學(xué))康復(fù)工程基礎(chǔ)階段測(cè)試試題及答案
- 2026上半年外語(yǔ)(盧森堡語(yǔ)HSK四級(jí))實(shí)戰(zhàn)技巧
- 深度解析(2026)《GBT 18294.2-2010火災(zāi)技術(shù)鑒定方法 第2部分:薄層色譜法》
- 深度解析(2026)《GBT 18199-2000外照射事故受照人員的醫(yī)學(xué)處理和治療方案》
- 深度解析(2026)《GBT 17980.72-2004農(nóng)藥 田間藥效試驗(yàn)準(zhǔn)則(二) 第72部分殺蟲劑防治旱地地下害蟲》
- 深度解析(2026)《GBT 17880.5-1999平頭六角鉚螺母》
- 深度解析(2026)《GBT 17698-2010信息技術(shù) 通 用多八位編碼字符集(CJK統(tǒng)一漢字) 15×16點(diǎn)陣字型》
- 中西方餐桌禮儀的差異課件
- 駕照考試科目一學(xué)習(xí)內(nèi)容
- 化工課件-油品儲(chǔ)運(yùn)工藝
- 電力電纜基礎(chǔ)知識(shí)課件
- 代理記賬申請(qǐng)表
- 模型五:數(shù)列中的存在、恒成立問(wèn)題(解析版)
- 印品整飾工等級(jí)題庫(kù)技能鑒定C卷
- 2023武漢市元調(diào)-化學(xué)卷及答案
- 商業(yè)地產(chǎn)招商部管理辦法
- GB∕T 799-2020 地腳螺栓-行業(yè)標(biāo)準(zhǔn)
- 招股說(shuō)明書數(shù)據(jù)詳解系列之:紫燕食品
評(píng)論
0/150
提交評(píng)論