版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第九章程序的調(diào)試與異常處理*第1頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月本章內(nèi)容:9.1程序的錯(cuò)誤類(lèi)型9.2程序的調(diào)試9.3程序的異常處理第2頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月學(xué)習(xí)目標(biāo)程序的錯(cuò)誤類(lèi)型程序的調(diào)試程序的異常處理第3頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月9.1程序的錯(cuò)誤類(lèi)型可以將這些錯(cuò)誤分為四類(lèi),分別是:語(yǔ)法錯(cuò)誤編譯錯(cuò)誤運(yùn)行錯(cuò)誤邏輯錯(cuò)誤第4頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月9.2程序的調(diào)試一.VB.NET的調(diào)試工具可以通過(guò)【調(diào)試】菜單,也可以使用【調(diào)試】工具欄??砂聪旅娴牟襟E打開(kāi)【調(diào)試】工具欄。1.選擇【視圖】→【工具欄】菜單項(xiàng)。2.在【工具欄】下的子菜單中選擇【調(diào)試】命令,【調(diào)試】工具欄會(huì)出現(xiàn)。第5頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月二.常用的調(diào)試對(duì)話框錯(cuò)誤列表窗口輸出窗口【立即】對(duì)話框【監(jiān)視】對(duì)話框【局部變量】對(duì)話框【Me】對(duì)話框第6頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月1.錯(cuò)誤列表窗口在VB.NET中,如果開(kāi)發(fā)人員的應(yīng)用程序中存在沒(méi)有清除的語(yǔ)法錯(cuò)誤,在調(diào)試時(shí),調(diào)試程序會(huì)查找到這些語(yǔ)法錯(cuò)誤,并將錯(cuò)誤信息顯示在【錯(cuò)誤列表】窗口中?!惧e(cuò)誤列表】窗口不但顯示出錯(cuò)誤的類(lèi)型和說(shuō)明,還顯示出錯(cuò)的文件,以便開(kāi)發(fā)人員快速定位和修改錯(cuò)誤。如果要馬上修改某一個(gè)錯(cuò)誤,可以在錯(cuò)誤列表中雙擊它,IDE會(huì)自動(dòng)跳轉(zhuǎn)到代碼窗口中,并加亮顯示相應(yīng)的錯(cuò)誤內(nèi)容。打開(kāi)“錯(cuò)誤列表”窗口:選擇【視圖】→【錯(cuò)誤列表】第7頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月2.輸出窗口VisualBasic.NET把【輸出】窗口的功能分為兩部分:調(diào)試和生成。在【輸出】窗口中,從【生成】選項(xiàng)可以查看調(diào)試的程序生成的內(nèi)容,包括成功的個(gè)數(shù)和失敗的個(gè)數(shù)。如果沒(méi)有生成失敗,表明程序創(chuàng)建成功。如果開(kāi)發(fā)人員要查看調(diào)試輸出結(jié)果,可從【輸出】窗口中的下拉列表框中選擇【調(diào)試】選項(xiàng),窗口中就顯示出所有已經(jīng)加載的內(nèi)容和輸出結(jié)果。第8頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月3.立即窗口VisualBasic.NET中,有一個(gè)【命令】對(duì)話框,在該對(duì)話框中可以直接使用VB.NET的各種命令與系統(tǒng)交互?!久睢繉?duì)話框有兩種不同的模式:命令模式和立即模式。命令模式主要用來(lái)執(zhí)行命令,立即模式主要用于調(diào)試程序。在調(diào)試應(yīng)用程序執(zhí)行函數(shù)或語(yǔ)句等操作時(shí),可使用立即模式查看,并更改變量的值。通過(guò)執(zhí)行【調(diào)試】→【窗口】→【即時(shí)】命令,可以以立即模式打開(kāi)【命令】對(duì)話框。第9頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月4.【監(jiān)視】對(duì)話框【監(jiān)視】對(duì)話框用于顯示當(dāng)前被監(jiān)視表達(dá)式的值?!颈O(jiān)視】對(duì)話框是最有用的對(duì)話框之一,在逐語(yǔ)句運(yùn)行的情況下,通過(guò)該對(duì)話框可以看到每執(zhí)行一條語(yǔ)句時(shí),監(jiān)視表達(dá)式值的變化情況?!颈O(jiān)視】對(duì)話框只能在運(yùn)行模式或中斷模式下打開(kāi),打開(kāi)方法是執(zhí)行【調(diào)試】→【窗口】→【監(jiān)視】命令。若要在【監(jiān)視】對(duì)話框中添加被監(jiān)視表達(dá)式,只需單擊【監(jiān)視】對(duì)話框[名稱]列最下面一行單元格,在其中輸入要監(jiān)視的表達(dá)式即可。第10頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月5.局部變量對(duì)話框【局部變量】對(duì)話框可顯示當(dāng)前過(guò)程中所有局部變量的值。當(dāng)程序從一個(gè)過(guò)程執(zhí)行到另一個(gè)過(guò)程時(shí),【局部變量】對(duì)話框的內(nèi)容也會(huì)隨之改變。該對(duì)話框只顯示當(dāng)前所執(zhí)行過(guò)程中局部變量的值。要打開(kāi)【局部變量】對(duì)話框,可執(zhí)行【調(diào)試】→【窗口】→【局部變量】命令。6.【Me】對(duì)話框【Me】對(duì)話框用于顯示在窗體類(lèi)中定義的變量和對(duì)象的當(dāng)前值。第11頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月三.調(diào)試方法1.設(shè)置程序斷點(diǎn)斷點(diǎn)是應(yīng)用程序暫時(shí)停止執(zhí)行的位置,也是讓?xiě)?yīng)用程序進(jìn)入中斷模式的地方。在程序設(shè)計(jì)中,可以在中斷模式和設(shè)計(jì)模式下設(shè)置和刪除斷點(diǎn)。在調(diào)試程序時(shí),按照程序的功能,可在懷疑有錯(cuò)誤的語(yǔ)句處設(shè)置斷點(diǎn),這樣有利于發(fā)揮測(cè)試程序的功能和發(fā)現(xiàn)程序的邏輯錯(cuò)誤。設(shè)置斷點(diǎn)的方法:1)在代碼窗口中,單擊要設(shè)置斷點(diǎn)的那一行代碼,然后按【F9】鍵。2)在代碼窗口中,在要設(shè)置斷點(diǎn)的那一行代碼行上,單擊鼠標(biāo)右鍵并選擇【插入斷點(diǎn)】命令。3)在代碼窗口中,在要設(shè)置斷點(diǎn)的那一行代碼行的左邊界上的豎條上單擊。第12頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月2.跟蹤程序執(zhí)行當(dāng)程序出錯(cuò)的具體位置不易確定,只能夠猜測(cè)到在某個(gè)范圍內(nèi)可能存在問(wèn)題時(shí),需要在此范圍內(nèi)追蹤程序的執(zhí)行結(jié)果,逐條地執(zhí)行語(yǔ)句。這種運(yùn)行方式稱為”跟蹤”。VB.NET提供的跟蹤方式有:逐語(yǔ)句(StepInto):逐語(yǔ)句執(zhí)行方式為一次執(zhí)行一條語(yǔ)句,也叫單步執(zhí)行。每執(zhí)行一條語(yǔ)句之后,開(kāi)發(fā)人員可以使用【即時(shí)】窗口、【局部變量】窗口或【監(jiān)視】窗口查看語(yǔ)句執(zhí)行的效果。逐過(guò)程(StepOver):編寫(xiě)復(fù)雜的應(yīng)用程序時(shí),應(yīng)用程序的一個(gè)過(guò)程通常會(huì)調(diào)用另一個(gè)過(guò)程或函數(shù),有時(shí)候,并不想了解調(diào)用過(guò)程的執(zhí)行細(xì)節(jié),而只想關(guān)注當(dāng)前過(guò)程的執(zhí)行情況,可以使用【逐過(guò)程】命令。
跳出(StepOut):【跳出】命令連續(xù)執(zhí)行當(dāng)前過(guò)程剩余部分的語(yǔ)句,并在調(diào)用該過(guò)程的下一行處中斷執(zhí)行。第13頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月9.3程序的異常處理一.非結(jié)構(gòu)化的異常處理非結(jié)構(gòu)化異常處理通過(guò)Err對(duì)象和OnError,Resume語(yǔ)句來(lái)實(shí)現(xiàn)。1.Err對(duì)象在VisualBasic中,產(chǎn)生的異常信息都會(huì)反映在一個(gè)對(duì)象中,這個(gè)對(duì)象就是Err。通過(guò)這個(gè)對(duì)象就可以獲取異常的所有信息,如異常碼、異常的信息描述等。Err對(duì)象是一個(gè)具有全局范圍的固有對(duì)象,用戶不必在程序中重新定義它。Err對(duì)象最常用的屬性是Description屬性和Number屬性。Description屬性表示異常的信息,Number屬性表示異常碼,它是1~32767之間的整數(shù)。第14頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月2.OnError語(yǔ)句OnError語(yǔ)句放在代碼塊的開(kāi)始處,它將處理在該塊內(nèi)發(fā)生的任何錯(cuò)誤。如果在執(zhí)行OnError語(yǔ)句后過(guò)程中引發(fā)了異常,程序流程將跳轉(zhuǎn)到OnError語(yǔ)句中指定的位置。常用的語(yǔ)句形式:1)OnErrorGoToLine作用:如果發(fā)生運(yùn)行時(shí)錯(cuò)誤,則將流程跳轉(zhuǎn)到該Line參數(shù)中指定的行號(hào)和行標(biāo)簽,并激活錯(cuò)誤處理程序。說(shuō)明:指定行必須與OnErrorGoToLine語(yǔ)句位于同一過(guò)程中。2)OnErrorResumeNext作用:若當(dāng)前行有錯(cuò),程序?qū)⒗^續(xù)執(zhí)行代碼的下一行,而忽略當(dāng)前的異常。第15頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月二.結(jié)構(gòu)化異常處理Try…Catch…Finally控制結(jié)構(gòu)是結(jié)構(gòu)化異常處理的基本結(jié)構(gòu)。它測(cè)試代碼片段,篩選執(zhí)行過(guò)程中產(chǎn)生的異常,根據(jù)產(chǎn)生的異常類(lèi)型做出不同的響應(yīng)。語(yǔ)法格式:
Try[tryStatements][Catch[exception[Astype]][Whenexpression][catchStatements]]
[ExitTry]…
[Finally[finallyStatements]]
EndTry第16頁(yè),課件共20頁(yè),創(chuàng)作于2023年2月說(shuō)明:tryStatements:可能發(fā)生錯(cuò)誤的語(yǔ)句。Catch:可以有多個(gè)catch塊,如果在處理try塊期間發(fā)生異常,則按文本順序檢查每個(gè)catch語(yǔ)句,以確定它是否處理該異常。Exception:表示已引發(fā)異常。任何變量名稱。其初始值是引發(fā)的錯(cuò)誤的值。它將與catch一同使用以指定所捕獲的錯(cuò)誤。Type:指定類(lèi)篩選器的類(lèi)型,如果Exception的值是type指定的類(lèi)型的值,則該標(biāo)示符將綁定到異常對(duì)象。Whenexpression:當(dāng)expression結(jié)果為true時(shí),捕獲異常。catchStatements:處理相關(guān)的try塊中所發(fā)生錯(cuò)誤的語(yǔ)句。ExitTry:中斷try…catch…finally結(jié)構(gòu)。如果有finally塊,則轉(zhuǎn)到finally塊繼續(xù)執(zhí)行。Finally:在執(zhí)行離開(kāi)try語(yǔ)句的任何部分時(shí)執(zhí)行。finallyStatements:在所有其他錯(cuò)誤處理結(jié)束后執(zhí)行的語(yǔ)句。第17頁(yè),課件共20頁(yè),創(chuàng)作于
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程承包合同(2篇)
- 2025年度個(gè)人股權(quán)變更及分紅權(quán)轉(zhuǎn)讓合同4篇
- 2025年度個(gè)人信托產(chǎn)品購(gòu)買(mǎi)合同樣本3篇
- 二零二五版人工智能技術(shù)研發(fā)公司并購(gòu)合同3篇
- 親情記敘文800字6篇
- 二零二五年度養(yǎng)老產(chǎn)業(yè)用地租賃協(xié)議4篇
- 高級(jí)數(shù)據(jù)分析課程設(shè)計(jì)
- 2024年育嬰員(高級(jí))理論考試題庫(kù)附答案(培訓(xùn)復(fù)習(xí)用)
- 二零二五年度苗圃苗木移植與景觀設(shè)計(jì)實(shí)施合同4篇
- 課程設(shè)計(jì)答疑記錄表
- 2025年湖北武漢工程大學(xué)招聘6人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 【數(shù) 學(xué)】2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)上冊(cè)期末能力提升卷
- GB/T 26846-2024電動(dòng)自行車(chē)用電動(dòng)機(jī)和控制器的引出線及接插件
- 遼寧省沈陽(yáng)市皇姑區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末考試語(yǔ)文試題(含答案)
- 2024年國(guó)家工作人員學(xué)法用法考試題庫(kù)及參考答案
- 妊娠咳嗽的臨床特征
- 國(guó)家公務(wù)員考試(面試)試題及解答參考(2024年)
- 《阻燃材料與技術(shù)》課件 第6講 阻燃纖維及織物
- 2024年金融理財(cái)-擔(dān)保公司考試近5年真題附答案
- 泰山產(chǎn)業(yè)領(lǐng)軍人才申報(bào)書(shū)
- 高中語(yǔ)文古代文學(xué)課件:先秦文學(xué)
評(píng)論
0/150
提交評(píng)論