版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
VB.NET程序設(shè)計
第3章調(diào)試與異常處理東北大學(xué)軟件學(xué)院2013-2014第一學(xué)期主要內(nèi)容3.1程序代碼錯誤的種類3.2異常處理3.3代碼的調(diào)試3.1程序代碼錯誤的種類常遇到的三種錯誤語法錯誤運行時錯誤邏輯錯誤程序代碼錯誤的種類
語法錯誤
程序語句違反語言規(guī)則,就會產(chǎn)生程序代碼錯誤語法錯誤可由編譯器捕捉在VisualStudio.NET中,語法錯誤出現(xiàn)在“任務(wù)列表”窗口,并附帶說明、行號和文件名。含有語法錯誤的程序不能執(zhí)行。如編譯器報告某行有語法錯誤,請檢查那一行,如果那一行沒有錯誤,再查看它的前幾行代碼。改正一個錯誤后,要重新編譯程序。總錯誤個數(shù)可能明顯減少。運行時錯誤運行時錯誤也叫執(zhí)行錯誤,會造成程序的中斷執(zhí)行常見的執(zhí)行錯誤用零做除數(shù)訪問不存在的文件訪問超過上限的數(shù)組程序調(diào)用時的參數(shù)錯誤邏輯錯誤產(chǎn)生非意料之中的結(jié)果或多余結(jié)果程序運行時不會出現(xiàn)錯誤信息計算1+2+….+99的和3.2異常處理執(zhí)行一個任務(wù)
如果前面的任務(wù)執(zhí)行不正確 執(zhí)行錯誤處理
執(zhí)行下一個任務(wù)
如果前面的任務(wù)執(zhí)行不正確 執(zhí)行錯誤處理
……異常處理使用戶能夠從實現(xiàn)應(yīng)用程序邏輯的代碼中去除錯誤處理代碼,增強應(yīng)用程序的清晰性和可修改性。異常處理Try[tryStatements][Catch[exception[Astype]][catchStatements]][ExitTry]……[Finally[FianllyStatements]]EndTry異常處理的語法格式.NET異常類層次結(jié)構(gòu)Exception類ApplicationException類SystemException類派生類1派生類n…派生類1派生類n…派生類m…派生類1派生類n…派生類m…SystemException類的部分派生類類別說明ArgumentOutOfRangeException當(dāng)參數(shù)值超出調(diào)用方法所規(guī)定的范圍時所產(chǎn)生錯誤DivideByZeroException除數(shù)為0時所產(chǎn)生錯誤IndexOutOfRangeException索引值超出數(shù)組所允許范圍InvalidCastException類型轉(zhuǎn)換所產(chǎn)生錯誤,如將字母轉(zhuǎn)為數(shù)值OverFlowException溢出時所產(chǎn)生錯誤例:輸入兩個整數(shù),將兩數(shù)相除求其商,若分母的輸入值為0時,程序會中斷且顯示錯誤信息。使用Try…Catch來進(jìn)行異常處理異常屬性Message:包含錯誤的字符串,適于顯示給用戶StackTrace:包含了一個字符串(通常都很長),表示方法調(diào)用堆棧,在異常發(fā)生時尚未完成處理的方法序列InnerException:返回內(nèi)部(嵌套)異常的異常對象HelpLink:表示異常的幫助鏈接字符串Source:包含生成錯誤的對象名稱的字符串TargetSite:保存拋出異常的方法例:使用Try…Catch…Finally來處理運行時數(shù)組索引值超出界限外的錯誤。例:求n!。因為有不同異常處理,會有不同錯誤信息。7.2錯誤的捕獲
遇到特殊錯誤,系統(tǒng)并沒有提供此種判斷,自己也可以寫程序來處理特殊錯誤,Throw語句即可指到該異常類,即自定義異常類。自定義異常處理例:使用ArgumentOutOfRangeException類。若輸入月份1~12,不發(fā)生錯誤;若輸入其它數(shù)字,結(jié)果顯示“不合理月份”。7.2錯誤的捕獲
用戶定義的異常類直接或間接地從System名字空間的ApplicationException類派生專門描述當(dāng)前程序中發(fā)生的問題例,用戶定義異常類NegativeNumberException表示當(dāng)程序執(zhí)行了負(fù)數(shù)的非法運算時所發(fā)生的異常。計算負(fù)數(shù)的平方根3.3代碼的調(diào)試單擊任何代碼行左側(cè)的灰色區(qū)域,或者右擊代碼行,再選擇[插入斷點];隨后出現(xiàn)一個紅色圓點,斷點已經(jīng)設(shè)置成功;程序執(zhí)行時,會在斷點位置中斷;選擇[調(diào)試]|[啟動]開始調(diào)試過程。設(shè)置斷點啟用調(diào)試器VisualStudio.NET提供幾個調(diào)試窗口,都可從[調(diào)試]|[窗口]子菜單中訪問[監(jiān)視]窗口只在中斷模式才會出現(xiàn),可以利用它檢查變量值和表達(dá)式[局部變量]顯示在當(dāng)前作用域中,所有局部變量或?qū)ο蟮拿Q和值[自動窗口]顯示上一個語句和當(dāng)前語句中使用的變量和對象檢查數(shù)據(jù)[調(diào)試]工具欄包含了控制調(diào)試過程的按鈕選擇[視圖]|[工具欄]|[調(diào)試]顯示[調(diào)試]工具欄[重新啟動][繼續(xù)][停止調(diào)試][全部中斷][顯示下一語句][斷點][逐過程][條件]程序控制使用1+2+…+n<9,試找出n值。Dimn,sumAsIntegersum=0n=1DoWhile(True)sum+=nIf(sum>=9)Thensum-=nLabel1.Text="1+2+..."&n&_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)樓宇電工施工合同樣本
- 美食節(jié)美食模特合作協(xié)議
- 房屋擴建工程私人施工合同
- 水上樂園建設(shè)招投標(biāo)合同安排
- 城市污水處理設(shè)施建設(shè)拆遷合同
- 食品銷售合同
- 建筑工程總監(jiān)聘用合同范文
- 家裝低價改造合同范例
- 鐵路軌道維修工程合同三篇
- 藥品捐贈合同(2篇)
- 中國人民解放軍空成立紀(jì)念日課件模板
- 2024年HOP重大事故預(yù)防-人與組織安全績效手冊
- 工商企業(yè)管理畢業(yè)論文范文(4篇)
- 2024年短劇出海白皮書-meta-202409
- 《12 玩也有學(xué)問》教學(xué)設(shè)計-2024-2025學(xué)年道德與法治一年級上冊統(tǒng)編版
- 2025年考研政治政治理論時政熱點知識測試題庫及答案(共三套)
- 一年級體育下冊 第三課 我與大自然教案
- GA/T 2134-2024法庭科學(xué)有損FLASH存儲設(shè)備數(shù)據(jù)恢復(fù)取證檢驗方法
- DLT5461-2013 火力發(fā)電廠施工圖設(shè)計文件深度規(guī)定(第1-16部分)
- 輔警簽合同范本
- DL∕T 516-2017 電力調(diào)度自動化運行管理規(guī)程
評論
0/150
提交評論