版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第8章異常處理內(nèi)容簡介
在應用程序開發(fā)過程中,錯誤總是難免的。程序中的錯誤最好是在運行之前(如編譯時)發(fā)現(xiàn),但是有些錯誤卻必須在運行時解決,程序在運行時發(fā)生的錯誤稱為異常。C#的異常處理機制可以較好地對異常進行處理,從而確保程序的健壯性。
本章主要介紹程序的調(diào)試和異常處理的基本知識。目錄8.1異常處理8.2程序調(diào)試本章小結(jié)8.1異常處理案例從鍵盤輸入兩個數(shù),求這兩個數(shù)的商staticvoidMain(string[]args)
{intx1,x2;Console.Write("請輸入被除數(shù):");x1=Convert.ToInt32(Console.ReadLine());Console.Write("請輸入除數(shù):");x2=Convert.ToInt32(Console.ReadLine());Console.WriteLine("相除的結(jié)果為:{0}",x1/x2);}什么是異常處理異常是指程序執(zhí)行時,出現(xiàn)程序員沒有預料到的問題;在程序的開發(fā)過程中,有些錯誤不會發(fā)生在編譯階段。但有時,我們知道可能會發(fā)生錯誤,但不能100%地肯定它們不會發(fā)生。此時,最好能預料到錯誤的發(fā)生,編寫足夠強壯的代碼可以處理這些錯誤,而不中斷程序的執(zhí)行;對這樣的異常在編碼時就提前處理!怎樣進行異常處理?可以只有try塊和finally塊,而沒有catch塊,可以有一個try塊和好幾個catch塊。如果有catch塊,finally塊就是可選的,否則就是必需的。try……catch……finally:用這三個關(guān)鍵了可以標記出能處理異常的代碼和指令基本結(jié)構(gòu):try{可能產(chǎn)生異常語句}catch(<異常類型>e){處理異常的語句}finally{不管有無異常都將執(zhí)行部分}try……catch……finally的用法沒有finally時,必須有catch塊異常執(zhí)行順序try塊在發(fā)生異常的地方中斷程序的執(zhí)行如果有catch塊,就檢查該塊是否匹配已發(fā)生的異常類型。如果沒有,就執(zhí)行finally塊如果有catch塊,但它與已發(fā)生的異常類型不匹配,就檢查是否有其他catch塊如果有catch塊匹配于已發(fā)生的異常類型,就執(zhí)行它包含代碼,再執(zhí)行finally塊如果catch塊不匹配于已發(fā)生的異常類型,就執(zhí)行finally塊異常執(zhí)行順序可以只有try塊和finally塊,而沒有catch塊;可以有一個try塊和好幾個catch塊;以異常子類作為異常參數(shù)的catch塊必須位于以異?;愖鳛楫惓?shù)的catch塊的前面,例如:try{//可能引發(fā)異常的代碼
}catch(Exceptione){//異常處理代碼}//下面是不會被訪問的無效代碼catch(DivideByZeroExceptione){//異常處理代碼}如果有catch塊,finally塊就是可選的,否則就是必需的。staticvoidMain(string[]args){intx1,x2;try//可能會出現(xiàn)異常的代碼都放在try塊中
{Console.Write("請輸入被除數(shù):");x1=Convert.ToInt32(Console.ReadLine());Console.Write("請輸入除數(shù):");x2=Convert.ToInt32(Console.ReadLine());Console.WriteLine(“商為:{0}",x1/x2);}
catch(DivideByZeroExceptione)//除數(shù)為0類型異常
{Console.WriteLine(e);}catch(FormatExceptione)
//格式類型的異常
{Console.WriteLine(e);}}錯誤類型System.DivideByZeroException除數(shù)為零的錯誤System.FormatException格式錯誤所有異常類都繼承于System.Exception四種異常輸入錯誤外圍設(shè)備錯誤物理限制代碼邏輯錯誤8.2程序錯誤與程序調(diào)試在應用程序開發(fā)過程中,程序出現(xiàn)錯誤是很常見的問題。VisualStudio.NET2008提供了良好的調(diào)試程序錯誤的功能,可以幫助編程人員快速地查找程序中的錯誤并進行修改。8.2.1程序錯誤1.語法錯誤2.運行時錯誤3.邏輯錯誤8.2程序錯誤與程序調(diào)試8.2.1程序錯誤
1.語法錯誤
8.2程序錯誤與程序調(diào)試8.2.2程序調(diào)試為了幫助編程人員在程序開發(fā)過程中檢查程序的語法、邏輯等是否正確,并且根據(jù)情況進行相應修改,VisualStudio.NET2008提供了一個功能強大的調(diào)試器。在調(diào)試模式下,編程人員可以仔細觀察程序運行的具體情況,從而對錯誤進行分析和修正。1.VS.NET的工作模式VS.NET提供了三種工作模式:設(shè)計模式、運行模式和調(diào)試模式。8.2程序錯誤與程序調(diào)試8.2.2程序調(diào)試2.VS.NET環(huán)境調(diào)試設(shè)置VisualStudio.NET環(huán)境調(diào)試設(shè)置,是通過【選項】對話框(從“工具”菜單選擇“選項”命令)進行。此處的調(diào)試設(shè)置影響所有項目,包括常規(guī)、本機、編輯并繼續(xù)、符號和實時五個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學《智慧水利》2022-2023學年第一學期期末試卷
- 石河子大學《外國文學一》2021-2022學年第一學期期末試卷
- 石河子大學《化工儀表及自動化》2023-2024學年第一學期期末試卷
- 沈陽理工大學《展示空間設(shè)計》2022-2023學年第一學期期末試卷
- 沈陽理工大學《汽車理論》2023-2024學年第一學期期末試卷
- 沈陽理工大學《工控組態(tài)軟件及應用》2022-2023學年第一學期期末試卷
- 管道保溫工程合同協(xié)議書
- 光明租賃合同
- 合同編司法解釋27解讀
- 2024肉類采購合同樣本
- 2024年度智能家居解決方案合同
- 2024年四川省達州市中考英語試題含解析
- 金融求職自我介紹
- 標志設(shè)計(全套課件88P)
- 2023年高考物理一輪復習練習題:靜電場及其應用(含基礎(chǔ)、提升兩套)
- 2024年云網(wǎng)安全應知應會考試題庫
- 小學道德與法治《中華民族一家親》完整版課件部編版
- DL-T 5190.1-2022 電力建設(shè)施工技術(shù)規(guī)范 第1部分:土建結(jié)構(gòu)工程(附條文說明)
- 經(jīng)緯度數(shù)轉(zhuǎn)換工具
- 一年級家長進課堂電的知識(課堂PPT)
- 最新高中物理學考公式大全
評論
0/150
提交評論