概述
C#提供了一種處理系統級錯誤和應用程式級錯誤的結構化的、統一的、類型安全的方法。C#異常語句包含try子句、catch子句和finally子句。try子句中包含可能產生異常的語句,該子句自動捕捉執行這些語句過程中發生的異常。catch子句中包含了對不同異常的處理代碼,可以包含多個catch子句,每個catch子句中包含了一個異常類型,這個異常類型必須是System.Exception類或它的派生類引用變數,該語句只捕捉該類型的異常。可以有一個通用異常類型的catch子句,該catch子句一般在事先不能確定會發生什麼樣的異常的情況下使用,也就是可以捕捉任意類型的異常。一個異常語句中只能有一個通用異常類型的catch子句,而且如果有的話,該catch子句必須排在其他catch子句的後面。無論是否產生異常,子句finally一定被執行。在finally子句中可以增加一些必須執行的語句。
捕抓和處理機理
異常語句捕捉和處理異常的機理是:當try子句中的代碼產生異常時,按照catch子句的順序查找異常類型。如果找到,那么執行該catch子句中的異常處理語句;如果沒有找到,那么執行通用異常類型的catch子句中的異常處理語句。由於異常的處理是按照catch子句出現的順序逐一檢查catch子句。因此catch子句出現的順序是很重要的。無論是否產生異常,一定執行finally子句中的語句。異常語句中不必一定包含所有三個子句,因此異常語句可以有以下三種可能的形式:
1、try—catch浯句,可以有多個catch語句。
2、try—finally語句,在finally子句中把檔案關閉,提示用戶是否正確打開了檔案。
3、try—catch語句,注意在每個catch語句中都要關閉檔案。