版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章第5章程序調(diào)試與異常處理主講:鄭殿君VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章本章要點(diǎn)程序調(diào)試和異常處理的概念。異常處理中常用語(yǔ)句。VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章技能目標(biāo)掌握程序調(diào)試的方法。掌握異常處理的方法。掌握自行拋出異常的方法。VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章5.1工作場(chǎng)景導(dǎo)入【引導(dǎo)問(wèn)題】(1)有哪些調(diào)試程序的方法?(2)在編寫程序時(shí)會(huì)出現(xiàn)哪些異常?什么情況下會(huì)出現(xiàn)異常處理?一旦出現(xiàn)異常處理應(yīng)該如何操作?VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章5.2調(diào)試
程序很難做到進(jìn)行一次編寫就能順利運(yùn)行達(dá)到預(yù)期的結(jié)果。編寫程序的過(guò)程中會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤以及邏輯錯(cuò)誤。調(diào)試:查找和更正程序中出現(xiàn)的錯(cuò)誤。VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章5.2.1程序中的錯(cuò)誤語(yǔ)法錯(cuò)誤語(yǔ)法錯(cuò)誤是由于程序員在編寫代碼過(guò)程中違背了語(yǔ)法規(guī)則所產(chǎn)生的錯(cuò)誤,比如漏掉某些必須的標(biāo)點(diǎn)符號(hào)或者在給標(biāo)識(shí)符命名時(shí)沒(méi)有按照命名規(guī)則進(jìn)行命名。程序的編譯過(guò)程中可以檢查出語(yǔ)法錯(cuò)誤。邏輯錯(cuò)誤邏輯錯(cuò)誤是指編譯上沒(méi)有錯(cuò)誤,并且也能夠執(zhí)行,但程序執(zhí)行的結(jié)果并非是預(yù)期想要的結(jié)果。邏輯錯(cuò)誤是最困難的錯(cuò)誤,尤其在大型程序中最為明顯。VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章5.2.2程序調(diào)試常用的程序調(diào)試操作包括:設(shè)置斷點(diǎn)開(kāi)始、中斷和停止程序的運(yùn)行單步執(zhí)行程序使程序運(yùn)行到指定的位置VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章設(shè)置斷點(diǎn)設(shè)置斷點(diǎn)的方法如下:1、在VS2008代碼編輯器中單擊需要設(shè)置斷點(diǎn)的語(yǔ)句左邊的列。2、選擇某行代碼,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“斷點(diǎn)”→“插入斷點(diǎn)”命令。3、選中要設(shè)置斷點(diǎn)的代碼行,選擇菜單欄中的“調(diào)試”→“切換斷點(diǎn)”命令。
VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章調(diào)試程序1、選擇“調(diào)試”→“啟動(dòng)調(diào)試”命令。2、在源窗口中右擊可執(zhí)行代碼中的某行,然后在彈出的快捷菜單中選擇“運(yùn)行到光標(biāo)處”命令。3、直接單擊工具欄中的按鈕啟動(dòng)調(diào)試。
VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章執(zhí)行程序中斷執(zhí)行當(dāng)程序執(zhí)行到一個(gè)斷點(diǎn)或發(fā)生異常時(shí),調(diào)試器將中斷程序的執(zhí)行,但程序并不退出,可以隨時(shí)恢復(fù)執(zhí)行。選擇“調(diào)試”→“全部中斷”命令后,調(diào)試器將停止所有在調(diào)試器下運(yùn)行的程序的執(zhí)行。停止執(zhí)行停止執(zhí)行意味著終止正在調(diào)試的程序并結(jié)束調(diào)試,可以通過(guò)選擇“調(diào)試”→“停止調(diào)試”命令來(lái)結(jié)束運(yùn)行和調(diào)試。VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章單步調(diào)試代碼在斷點(diǎn)處停止的應(yīng)用程序,可以選擇執(zhí)行如下操作:步入/逐語(yǔ)句(Stepinto):快捷鍵F11,步入代碼意味著如果斷點(diǎn)語(yǔ)句是函數(shù)調(diào)用,則將執(zhí)行轉(zhuǎn)移到所調(diào)用函數(shù)中的第一條語(yǔ)句,并且可以按照一次調(diào)試一條語(yǔ)句的方式單步調(diào)試函數(shù)。步進(jìn)/逐過(guò)程(StepOver):快捷鍵F10,意思是如果斷點(diǎn)語(yǔ)句是函數(shù)調(diào)用,執(zhí)行整個(gè)函數(shù),并且將控制權(quán)轉(zhuǎn)移到函數(shù)后的下一條語(yǔ)句。步出/跳出(StepOut):快捷鍵Shift+F11,步出代碼,如果位于斷點(diǎn)處的語(yǔ)句是函數(shù)的一部分則恢復(fù)執(zhí)行直到函數(shù)退出,將轉(zhuǎn)移到主調(diào)函數(shù)中的返回點(diǎn)。VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章5.3異常處理在編寫程序的過(guò)程中,不可避免會(huì)出現(xiàn)這樣那樣的錯(cuò)誤,而有的錯(cuò)誤不容易被發(fā)現(xiàn),從而導(dǎo)致程序運(yùn)行錯(cuò)誤,為了排除這些非常隱蔽的錯(cuò)誤,對(duì)編寫好的代碼進(jìn)行程序調(diào)試,這樣才能保證應(yīng)用程序的正確運(yùn)行。VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章5.3.1異常處理的原因異常處理的一個(gè)最大的好處是不必在異常發(fā)生的地方捕捉或者檢測(cè)它們,這將大大簡(jiǎn)化代碼的編輯工作,因?yàn)樘幚懋惓5漠惓?duì)象是一個(gè)包含著一個(gè)描述字符串的對(duì)象,利用該字符串就能方便地知道到底是哪個(gè)參數(shù)導(dǎo)致問(wèn)題的發(fā)生。該字符串還可能包含一些額外的信息來(lái)幫助我們改善代碼。VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章5.3.2異常處理中的操作使用try和catch處理異常處理多個(gè)異常拋出異常使用try、catch和finally處理所有的異常VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章使用try和catch處理異常使用try語(yǔ)句和catch語(yǔ)句,可以使程序在發(fā)生異常時(shí)不僅不會(huì)提示給用戶比較討厭的異常信息,還會(huì)繼續(xù)執(zhí)行程序。try語(yǔ)句包括可能產(chǎn)生異常的部分,而catch語(yǔ)句可以處理一個(gè)存在的異常。例:從控制臺(tái)輸入兩個(gè)數(shù),并實(shí)現(xiàn)兩個(gè)數(shù)的相除,并使用try…catch語(yǔ)句處理異常。(見(jiàn)書例5.3)VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章處理多個(gè)異常為了處理不同的異??梢栽趖ry-catch語(yǔ)句中使用一個(gè)或多個(gè)catch語(yǔ)句塊。例:從控制臺(tái)輸入兩個(gè)數(shù),并實(shí)現(xiàn)兩個(gè)數(shù)的相除,使用多個(gè)catch語(yǔ)句處理不同的異常。(見(jiàn)書例5.4)VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章使用try、catch和finally處理所有的異常應(yīng)用程序最有可能的途徑是合并前面兩種錯(cuò)誤處理技術(shù):捕獲錯(cuò)誤、清除并繼續(xù)執(zhí)行應(yīng)用程序。所需做的只是在出錯(cuò)處理代碼中使用try-catch-finally語(yǔ)句。
例:使用try-catch-finally異常處理語(yǔ)句來(lái)計(jì)算函數(shù)值:(見(jiàn)書例5.5)可利用throw主動(dòng)拋出異常讓catch捕獲VisualC#2008程序設(shè)計(jì)與應(yīng)用教程第4章本章小結(jié)本章在前半部分主要講述
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 演講與口才課程設(shè)計(jì)理念
- 廚師課程設(shè)計(jì)
- 正門課程設(shè)計(jì)模板
- 2024年銅電泳漆模塊外殼項(xiàng)目可行性研究報(bào)告
- 2024年眼鏡架刀具研磨機(jī)項(xiàng)目可行性研究報(bào)告
- 2024年甘花茶項(xiàng)目可行性研究報(bào)告
- 智慧能源物聯(lián)網(wǎng)課程設(shè)計(jì)
- 機(jī)械課程設(shè)計(jì)靜壓機(jī)
- 溫度煙霧報(bào)警器課程設(shè)計(jì)
- 水蒸氣測(cè)量課程設(shè)計(jì)
- 蘇教版七年級(jí)歷史知識(shí)點(diǎn)
- 陜西省既有村鎮(zhèn)住宅抗震加固技術(shù)規(guī)程
- 智聯(lián)國(guó)企行測(cè)筆試真題
- 2025屆新高考物理熱點(diǎn)精準(zhǔn)復(fù)習(xí):高中物理6大模塊計(jì)算題思路總結(jié)
- 2024-2030年中國(guó)光電共封裝(CPO)行業(yè)投融資趨勢(shì)及發(fā)展前景分析研究報(bào)告
- 2025屆江蘇省期無(wú)錫市天一實(shí)驗(yàn)學(xué)校數(shù)學(xué)七年級(jí)第一學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- 城市軌道交通運(yùn)營(yíng)管理【共30張課件】
- 學(xué)生退學(xué)情況說(shuō)明
- 鋼結(jié)構(gòu)設(shè)計(jì)智慧樹(shù)知到期末考試答案章節(jié)答案2024年山東建筑大學(xué)
- DB5334 T 12.5-2024《地理標(biāo)志證明商標(biāo) 香格里拉藏香豬》的第5部分疾病防治
- 化學(xué)機(jī)械漿與半化學(xué)機(jī)械漿
評(píng)論
0/150
提交評(píng)論