版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
異常處理思政目標(biāo):
?認(rèn)真修改并測(cè)試程序代碼,樹(shù)立新時(shí)期下的程序員精神
?加強(qiáng)學(xué)生的動(dòng)手能力,培養(yǎng)學(xué)生實(shí)事求是、嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度技能要求:
?熟練掌握程序的異常處理
?掌握程序調(diào)試實(shí)踐目標(biāo):
?根據(jù)所學(xué)的示例,能夠自己進(jìn)行程序調(diào)試
?熟練掌握調(diào)試方法第8章程序調(diào)試異常處理的形式程序調(diào)試01PART程序調(diào)試的作用程序調(diào)試可以發(fā)現(xiàn)并調(diào)整程序在運(yùn)行過(guò)程中出現(xiàn)的異常,從而使程序進(jìn)一步得到完善,這是編寫(xiě)程序必須的環(huán)節(jié)調(diào)試中主要用到的命令開(kāi)始調(diào)試、開(kāi)始執(zhí)行(不調(diào)試)VS下的Debug菜單斷點(diǎn)功能斷點(diǎn)功能可以讓程序中斷在需要的地方。添加斷點(diǎn)的方法是:先將光標(biāo)定位到希望加斷點(diǎn)的語(yǔ)句,然后按F9鍵,斷點(diǎn)便成功添加,若想取消已添加斷點(diǎn),再按一次F9鍵即可程序調(diào)試用于查看在代碼中標(biāo)記的書(shū)簽右鍵單價(jià)代碼編輯器中的成員名稱,然后單擊“查看調(diào)用層級(jí)結(jié)構(gòu)”可在此工具窗口中查看成員的調(diào)用層次結(jié)構(gòu)用于查看使用的類之間的層次關(guān)系用于查看定義的代碼,能夠方便快捷查找自定義的代碼用于查看出錯(cuò)的代碼,能夠準(zhǔn)確定位代碼出錯(cuò)的位置14523書(shū)簽窗口調(diào)用層次結(jié)構(gòu)窗口類視圖代碼定義窗口錯(cuò)誤列表窗口程序調(diào)試異常處理的形式02PART異常處理機(jī)制異常處理的機(jī)制是:先捕捉異常事件,再進(jìn)行調(diào)試修改,讓程序能夠繼續(xù)正常運(yùn)行或者給用戶適當(dāng)?shù)腻e(cuò)誤提示。導(dǎo)致異常的原因?qū)е庐惓5脑蚨喾N多樣,常見(jiàn)的有:文件找不到、文件操作權(quán)限不足、網(wǎng)絡(luò)無(wú)法連通、數(shù)組越界、算術(shù)除以0等。異常處理的目的編程人員對(duì)程序運(yùn)行中出現(xiàn)的錯(cuò)誤進(jìn)行處理的過(guò)程就是異常處理。為了增強(qiáng)程序的健壯性,設(shè)計(jì)程序時(shí),必須考慮到可能發(fā)生的異常事件,并進(jìn)行相應(yīng)的處理。異常處理的目的是,保證程序在出現(xiàn)錯(cuò)誤時(shí)不至于崩潰,仍能繼續(xù)運(yùn)行。異常的概念異常是指異常事件(exceptionalevent),是應(yīng)用程序在執(zhí)行期間發(fā)生的錯(cuò)誤,以及其他意外的行為。異常處理異常處理異常處理System.Exception類的常用屬性成員說(shuō)明Message描述錯(cuò)誤情況的文本Source導(dǎo)致異常的應(yīng)用程序或?qū)ο竺鸗argetSite引發(fā)異常的方法的.NET反射對(duì)象HelpLink鏈接到一個(gè)幫助文件上,以提供該異常的更多信息StackTrace堆棧上方法調(diào)用的信息,它有助于跟蹤引發(fā)異常的方法InnerException如果異常是在catch塊中引發(fā)的,它就會(huì)包含把代碼發(fā)送到catch塊中的異常對(duì)象異常處理異常處理常用的內(nèi)置異常類從圖中可以看出,這些異常類之中,存在兩個(gè)處于關(guān)鍵節(jié)點(diǎn)的異常類:SystemException和ApplicationException,前者通常由.NET運(yùn)行庫(kù)引發(fā),后者用于第三方定義異常類,不過(guò)該類并不推薦使用,自定義異常類可直接從System.Exception繼承。異常處理的形式C#用4個(gè)關(guān)鍵字try、
throw、catch
和finally管理異常處理,首先需要使用try預(yù)測(cè)可能出現(xiàn)異常的語(yǔ)句,然后在catch中捕獲異常并對(duì)異常進(jìn)行處理,不管異常發(fā)生與否,都會(huì)執(zhí)行finally里面的語(yǔ)句,而throw用于人為拋出異常,把異常返回給程序異常處理關(guān)鍵字try和catch分別用于定義異常和定義異常處理。定義異常就是將可能產(chǎn)生錯(cuò)誤的語(yǔ)句放到try語(yǔ)句塊中,方便進(jìn)行監(jiān)控。定義異常處理是將異常處理的語(yǔ)句放在catch語(yǔ)句塊中,以便異常被傳遞來(lái)時(shí)處理。使用
try-catch
語(yǔ)句來(lái)捕獲異常try-catch語(yǔ)句的一般語(yǔ)法格式若位于try子句中的語(yǔ)句產(chǎn)生異常,系統(tǒng)便會(huì)在它對(duì)應(yīng)的catch子句中進(jìn)行查找,如果找到與拋出的、異常類型相同的catch子句,就會(huì)執(zhí)行該子句中的語(yǔ)句;如果沒(méi)有,則到調(diào)用當(dāng)前方法的方法中繼續(xù)查找,此過(guò)程會(huì)循環(huán)進(jìn)行,
直至找到一個(gè)匹配的catch子句為止;若一直沒(méi)有找到,
程序運(yùn)行時(shí)將會(huì)產(chǎn)生一個(gè)未處理的異常錯(cuò)誤。try-catch語(yǔ)句的執(zhí)行過(guò)程異常處理異常處理下面的程序可以捕獲除0和數(shù)組訪問(wèn)越界兩種錯(cuò)誤每個(gè)catch語(yǔ)句只響應(yīng)類型相匹配的異常。在某些時(shí)候,需要捕獲所有類型的異常,此時(shí),使用不帶參數(shù)(即不包含異常對(duì)象聲明)的catch語(yǔ)句就可以做到這一點(diǎn)。異常處理下面程序,雖只有一個(gè)不帶參數(shù)catch,但可以捕獲程序中產(chǎn)生的所有異常。每個(gè)catch語(yǔ)句只響應(yīng)類型相匹配的異常。在某些時(shí)候,需要捕獲所有類型的異常,此時(shí),使用不帶參數(shù)(即不包含異常對(duì)象聲明)的catch語(yǔ)句就可以做到這一點(diǎn)。01020304throw的一般語(yǔ)法格式為:使用throw語(yǔ)句拋出異常前面的程序捕獲的是由C#自動(dòng)產(chǎn)生的異常,而使用throw可以人為拋出異常。throw拋出的是對(duì)象,因此必須創(chuàng)建一個(gè)用于拋出的對(duì)象。throw異常對(duì)象異常處理這里,異常對(duì)象必須是System.Exception類型派生的類的實(shí)例。異常處理下面的程序演示了如何人為拋出DivideByZeroException異常使用finally語(yǔ)句finally塊和try塊一起使用時(shí),無(wú)論是否有異常發(fā)生,執(zhí)行的都是finally塊中的語(yǔ)句,因此,用戶可以在finally
語(yǔ)句中執(zhí)行一些清除資源的操作。在finally塊中使用break、continue
或goto等語(yǔ)句,會(huì)把拋出的異常接收。異常處理異常
溫馨提示
- 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版居間服務(wù)合同正本覆蓋金融產(chǎn)品推廣3篇
- 2025版企業(yè)短租汽車租賃合同標(biāo)準(zhǔn)文本3篇
- 2024房屋租賃合同翻譯
- 2025版綠色建材rohs環(huán)保協(xié)議范本3篇
- 2024年生態(tài)居住區(qū)房產(chǎn)買賣與產(chǎn)權(quán)證轉(zhuǎn)移合同2篇
- 2024年食堂衛(wèi)生管理合同3篇
- 2025年度BIM施工信息化管理合同范本3篇
- 2024年金融借款合同標(biāo)準(zhǔn)格式3篇
- 課題申報(bào)書(shū):大國(guó)博弈下中國(guó)海外務(wù)工人員安全風(fēng)險(xiǎn)防控機(jī)制研究
- 課題申報(bào)書(shū):城市代謝中人類福祉的實(shí)現(xiàn)機(jī)理、效率評(píng)估與路徑優(yōu)化
- 國(guó)內(nèi)外航空安全形勢(shì)
- 《雷達(dá)原理》課件-1.1.6教學(xué)課件:雷達(dá)對(duì)抗與反對(duì)抗
- 2024年版汽車4S店商用物業(yè)租賃協(xié)議版B版
- 微信小程序云開(kāi)發(fā)(赤峰應(yīng)用技術(shù)職業(yè)學(xué)院)知到智慧樹(shù)答案
- 遼寧省撫順市清原縣2024屆九年級(jí)上學(xué)期期末質(zhì)量檢測(cè)數(shù)學(xué)試卷(含解析)
- 2024-2025學(xué)年上學(xué)期福建高二物理期末卷2
- 2024四川阿壩州事業(yè)單位和州直機(jī)關(guān)招聘691人歷年管理單位遴選500模擬題附帶答案詳解
- 麻醉科工作計(jì)劃
- 2024年新進(jìn)員工試用期考核標(biāo)準(zhǔn)3篇
- 《英美文化概況》課件
- 四川省2023年普通高中學(xué)業(yè)水平考試物理試卷 含解析
評(píng)論
0/150
提交評(píng)論