程序設計全套8異常處理_第1頁
程序設計全套8異常處理_第2頁
程序設計全套8異常處理_第3頁
程序設計全套8異常處理_第4頁
程序設計全套8異常處理_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、內容簡介 在應用程序開發(fā)過程中,錯誤總是難免的。程序中的錯誤最好是在運行之前(如編譯時)發(fā)現(xiàn),但是有些錯誤卻必須在運行時解決,程序在運行時發(fā)生的錯誤稱為異常。 C#的異常處理機制可以較好地對異常進行處理,從而確保程序的健壯性。 本章主要介紹程序的調試和異常處理的基本知識。目錄8.1異常處理異常處理8.2程序調試程序調試 本章小結本章小結 8.1 異常處理從鍵盤輸入兩個數(shù),求這兩個數(shù)的商從鍵盤輸入兩個數(shù),求這兩個數(shù)的商 static void Main(string args) int x1, x2; Console.Write(請輸入被除數(shù)請輸入被除數(shù):); x1 = Convert.ToIn

2、t32(Console.ReadLine(); Console.Write(請輸入除數(shù)請輸入除數(shù):); x2 = Convert.ToInt32(Console.ReadLine(); Console.WriteLine(相除的結果為相除的結果為:0, x1 / x2);什么是異常處理異常是指程序執(zhí)行時,出現(xiàn)程序員沒有預料到的異常是指程序執(zhí)行時,出現(xiàn)程序員沒有預料到的問題;問題;在程序的開發(fā)過程中,有些錯誤不會發(fā)生在編譯在程序的開發(fā)過程中,有些錯誤不會發(fā)生在編譯階段。但有時,我們知道可能會發(fā)生錯誤,但不階段。但有時,我們知道可能會發(fā)生錯誤,但不能能100%地肯定它們不會發(fā)生。此時,最好能預料地

3、肯定它們不會發(fā)生。此時,最好能預料到錯誤的發(fā)生,編寫足夠強壯的代碼可以處理這到錯誤的發(fā)生,編寫足夠強壯的代碼可以處理這些錯誤,而不中斷程序的執(zhí)行;些錯誤,而不中斷程序的執(zhí)行;對這樣的異常在編碼時就提前處理!對這樣的異常在編碼時就提前處理!怎樣進行異常處理?可以只有try塊和finally塊,而沒有catch塊,可以有一個try塊和好幾個catch塊。如果有catch塊,finally塊就是可選的,否則就是必需的。trycatchfinally:用這三個用這三個關鍵了可以標記出能處理異常的關鍵了可以標記出能處理異常的代碼和指令代碼和指令基本結構:基本結構:try可能產生異??赡墚a生異常 語句語句

4、catch( e)處理異常的語句處理異常的語句finally不管有無異常都將執(zhí)行不管有無異常都將執(zhí)行 部分部分trycatchfinally的用法沒有finally時,必須有catch塊異常執(zhí)行順序try塊在發(fā)生異常的地方中斷程序的執(zhí)行塊在發(fā)生異常的地方中斷程序的執(zhí)行如果有如果有catch塊,就檢查該塊是否匹配已發(fā)生的塊,就檢查該塊是否匹配已發(fā)生的異常類型。如果沒有,就執(zhí)行異常類型。如果沒有,就執(zhí)行finally塊塊如果有如果有catch塊,但它與已發(fā)生的異常類型不匹塊,但它與已發(fā)生的異常類型不匹配,就檢查是否有其他配,就檢查是否有其他catch塊塊如果有如果有catch塊匹配于已發(fā)生的異常類

5、型,就執(zhí)塊匹配于已發(fā)生的異常類型,就執(zhí)行它包含代碼,再執(zhí)行行它包含代碼,再執(zhí)行finally塊塊如果如果catch塊不匹配于已發(fā)生的異常類型,就執(zhí)塊不匹配于已發(fā)生的異常類型,就執(zhí)行行finally塊塊異常執(zhí)行順序可以只有可以只有try塊和塊和finally塊,而沒有塊,而沒有catch塊;塊;可以有一個可以有一個try塊和好幾個塊和好幾個catch塊;塊;以異常子類作為異常參數(shù)的catch塊必須位于以異?;愖鳛楫惓?shù)的catch塊的前面,例如:try / 可能引發(fā)異常的代碼 catch(Exception e) / 異常處理代碼 /下面是不會被訪問的無效代碼catch ( DivideBy

6、ZeroException e) / 異常處理代碼 如果有如果有catch塊,塊,finally塊就是可選的,否則就是塊就是可選的,否則就是必需的。必需的。static void Main(string args) int x1, x2; try /可能會出現(xiàn)異常的代碼都放在可能會出現(xiàn)異常的代碼都放在try塊中塊中 Console.Write(請輸入被除數(shù):請輸入被除數(shù):); x1 = Convert.ToInt32(Console.ReadLine(); Console.Write(請輸入除數(shù):請輸入除數(shù):); x2 = Convert.ToInt32(Console.ReadLine();

7、 Console.WriteLine(“商為:商為:0, x1 / x2); catch (DivideByZeroException e) /除數(shù)為除數(shù)為0類型異常類型異常 Console.WriteLine(e); catch (FormatException e) /格式類型的異常格式類型的異常 Console.WriteLine(e); 錯誤類型System.DivideByZeroException除數(shù)為零的錯誤System.FormatException格式錯誤所有異常類都繼承于System.Exception四種異常輸入錯誤輸入錯誤外圍設備錯誤外圍設備錯誤物理限制物理限制代碼邏輯

8、錯誤代碼邏輯錯誤8.2 程序錯誤與程序調試 在應用程序開發(fā)過程中,程序出現(xiàn)錯誤是很常見的問題。Visual Studio.NET 2008提供了良好的調試程序錯誤的功能,可以幫助編程人員快速地查找程序中的錯誤并進行修改。8.2.1 程序錯誤程序錯誤1語法錯誤語法錯誤2運行時錯誤運行時錯誤3. 邏輯錯誤邏輯錯誤8.2 程序錯誤與程序調試 8.2.1 程序錯誤程序錯誤 1語法錯誤語法錯誤 8.2 程序錯誤與程序調試8.2.2 程序調試程序調試 為了幫助編程人員在程序開發(fā)過程中檢查程序的語法、邏輯等是否正確,并且根據(jù)情況進行相應修改,Visual Studio.NET 2008提供了一個功能強大的調試器。在調試模式下,編程人員可以仔細觀察程序運行的具體情況,從而對錯誤進行分析和修正。1. VS.NET的工作模式的工作模式 VS.NET提供了三種工作模式:設計模式、運行模式和調試模式。8.2 程序錯誤與程序調試8.2.2 程序調試程序調試2. VS.NET環(huán)境調試設置環(huán)境調試設置 Visual Studio.NET環(huán)境調試設置,是通過【選項】對話框(從“工具”菜單選擇“選項”命令)進行。此處的調試設置影響所有項目,包括常規(guī)、本機、編輯并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論