資源描述:
《VB_DESK_T4_北大青鳥VB學(xué)習(xí)教材》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、基于VB的桌面系統(tǒng)開發(fā)方案錯誤處理和類的概念課題目標(biāo)了解錯誤類型掌握如何處理運行錯誤了解Err對象的使用及其屬性和方法了解VisualBasic中的類和類模塊掌握如何創(chuàng)建一個類錯誤類型錯誤說明語法錯誤在輸入的語句不正確時發(fā)生。例如:關(guān)鍵字拼寫錯誤、標(biāo)點符號的缺失或者變量名拼寫錯誤。例如:在使用If語句時沒有相應(yīng)的EndIf進(jìn)行匹配導(dǎo)致一個語法錯。將運行錯誤在一個命令企圖執(zhí)行一個無效的動作時發(fā)生。例如:在企圖把一個字符串賦值給一個數(shù)字類型的變量時發(fā)生運行錯。在運行錯發(fā)生時會激活錯誤處理程序。邏輯錯誤在程序既沒有語法錯也沒有運行錯的情況下執(zhí)
2、行程序得到的結(jié)果卻不是正確的結(jié)果時,我們說發(fā)生了邏輯錯。例如:應(yīng)用程序要求用戶提供口令,可是口令是正確的時候卻不能進(jìn)入應(yīng)用程序,這時就說發(fā)生了邏輯錯誤理解“錯誤”的概念缺省的錯誤處理可以提供給用戶出現(xiàn)錯誤的編號和對錯誤的一段簡短描述并自動終止應(yīng)用程序在自己編寫的代碼中對錯誤進(jìn)行處理處理運行錯誤的代碼稱為“錯誤處理程序”運行錯誤下面是一些可能產(chǎn)生運行錯誤的情況:向一個不存在文件寫入數(shù)據(jù)企圖向一個已經(jīng)被關(guān)閉的表進(jìn)行查詢把一個數(shù)字類型的變量賦給一個字符串類型的變量。除數(shù)為零運行錯誤(續(xù))錯誤編號原因5無效過程調(diào)用6溢出7內(nèi)存不足9下標(biāo)越界11
3、除數(shù)為零13類型不匹配53文件不存在55文件已經(jīng)打開58文件已經(jīng)存在76路徑不存在423屬性或者方法不存在482打印機(jī)錯誤運行錯誤(續(xù))VisualBasic不支持集中錯誤處理技術(shù)每一個過程或事件都要求有一個錯誤處理程序來解決一個它自己的錯誤錯誤處理步驟啟用一個錯誤處理程序編寫對可能發(fā)生的錯誤進(jìn)行處理的代碼繼續(xù)程序的運行錯誤處理程序通過啟用錯誤處理程序來對運行錯誤進(jìn)行處理在過程中使用OnErrorGoTo語句加一個命名的標(biāo)號來激活錯誤處理程序標(biāo)號用來指出錯誤發(fā)生時程序轉(zhuǎn)向錯誤處理程序的入口這部分代碼稱為“錯誤處理程序”命名和變量的命名一
4、樣以冒號結(jié)尾放在過程的ExitSub語句之后錯誤處理程序(續(xù))下面的DataErr錯誤處理程序?qū)崿F(xiàn)對數(shù)據(jù)溢出錯誤的處理:PrivateSubCommand1_Click()OnErrorGoToDataErrDimnumAsInteger,varAsIntegernum=10var=num*10000PrintvarExitSubDataErr:MsgBox"Trymultiplyingwithasmallerinteger"EndSub使用Err對象報告錯誤,包含和運行錯誤相關(guān)的信息可以幫助確定發(fā)生的錯誤類型、原因和錯誤發(fā)生的地方屬性
5、是由錯誤發(fā)生者設(shè)置的Err對象的屬性屬性說明Number返回或設(shè)置標(biāo)識錯誤的編號。它是Err對象的缺省屬性。它可以用來確定是哪一個錯誤發(fā)生了,它的值是錯誤的唯一標(biāo)識。語法格式:Object.NumberDescription返回或設(shè)置用來對錯誤進(jìn)行描述的字符串。語法格式:Object.DescriptionSource返回或設(shè)置產(chǎn)生錯誤的應(yīng)用程序的名字的字符串。當(dāng)一個意外錯誤發(fā)生時,這個值被自動設(shè)置。語法格式:Object.SourceErr對象的屬性(續(xù))HelpFile返回或設(shè)置一個包含指向幫助文件所在位置的路徑的字符串。語法格式:
6、Object.HelpFileHelpContext返回或設(shè)置包含幫助文件中有關(guān)主題的上下文ID的字符串。語法格式:Object.HelpContextErr對象的方法方法說明Clear方法在錯誤被處理后清除Err對象的所有屬性的值。使用Resume語句或OnError語句之后或是結(jié)束一個子程序塊或一個函數(shù)過程之后都會自動調(diào)用這個方法。語法格式:Object.ClearRaise方法這個方法用來產(chǎn)生一個錯誤。它是在測試和評估的時候使用的。這樣可以主動地產(chǎn)生錯誤,以便在程序其他地方的錯誤處理程序來對它進(jìn)行處理。語法格式:object.Ra
7、isenumber,source,description,helpfile,helpcontext除了number以外的所有參數(shù)都是可選的繼續(xù)執(zhí)行應(yīng)用程序用Resume語句來實現(xiàn)繼續(xù)運行程序三種Resume語句:語句說明Resume程序從產(chǎn)生錯誤的語句開始接著運行ResumeNext程序從產(chǎn)生錯誤的語句的下一條語句接著運行Resumeline從Resumeline語句后指定的標(biāo)號或是行號處開始運行程序,注意標(biāo)號或是行號指定的語句必須和錯誤處理程序在同一個過程中捕獲錯誤對程序中發(fā)生的錯誤進(jìn)行捕獲當(dāng)執(zhí)行一個標(biāo)志著錯誤處理程序開始的OnEr
8、ror語句時就引發(fā)了對錯誤的跟蹤當(dāng)執(zhí)行到ExitSub、ExitFunction、ExitProperty、EndSub、EndFunction或EndProperty語句時就意味著跟蹤的結(jié)束可以使用On