C#錯誤和異常的處理
阿新 • • 發佈:2017-07-02
類型 div 操作 包含 文本 出現 lap aps table
錯誤的出現並不總是編寫應用程序人的原因,有時應程序會因為應用程序的最終用戶引發或運行代碼的環境而發生錯誤。無論如何,我們都應預測應用程序中出現的錯誤,並相應的進行編碼。C#處理錯誤的機制可以為每種錯誤提供自定義的處理方法,並把識別錯誤的代碼於處理錯誤的代碼分離開來。
一、異常類
在C#中,當出現某個特殊的異常錯誤條件時,就會創建(或拋出)一個異常對象。這個對象包含有助於跟蹤問題的信息。.NET提供了許多預定義的異常類,我們也可以創建自己的異常類。
二、捕獲異常
為了在C#代碼中處理可能的錯誤情況,一般把程序中的相關部分分成三種不同類型的代碼塊:
- Try塊包含的代碼組成了程序的正常操作部分,但這部分可能遇到某些嚴重的錯誤
- Catch快包含的代碼處理各種錯誤情況,這些錯誤是執行try塊中的代碼遇到的,這個塊還可以用於記錄錯誤。
- Finally塊包含的代碼清理資源或執行通常要在try塊或catch塊末尾執行的其他操作。無論是否拋出異常,都會執行finally塊。Finally塊完全可選的,如果不需要清理代碼,就不需要包含次塊。
三、System.Exception屬性
在System.Exception異常類中有許多其他屬性:
屬性 | 說明 |
Data | 這個屬性可以給異常添加鍵/值語句,以提供關於異常的額外信息 |
HelpLink | 鏈接到一個幫助文件上,以提供關於該異常的更多的信息 |
InnerException | 如果此異常是在catch塊中拋出,它就會包含把代碼發送到catch塊中的異常對象 |
Message | 描述錯誤情況的文本 |
Source | 導致異常的應用程序名或對象名 |
StackTrace | 棧上方法調用的詳細信息,它有助於跟蹤拋出異常的方法 |
TargetSite | 描述拋出異常的方法的.NET反射對象 |
如果編寫一個可執行程序,就應捕獲盡可能多的異常,並以合理的方式處理它們。
C#錯誤和異常的處理