1. 程式人生 > 實用技巧 >C#中的異常處理語句

C#中的異常處理語句

(一):try-catch語句
try-catch語句是由一個try塊後跟一個或者多個catch子句構成,這些子句指定不同的異常處理程式。
try塊包含可能導致異常的保護程式碼。該塊一直執行到引發異常或成功完成為止。
catch子句使用時不帶任何引數,這種情況下它捕獲任何型別的異常,並被稱為一般catch子句。它還可以接受從System.Exception派生的物件引數,這種情況下他處理特定的異常。例如:

 1 static void Main(string[] args)
 2         {
 3             try
 4             {
 5                 //
除數不能為0 6 int numone = 0; 7 float numtwo = 123 / numone; 8 } 9 catch (Exception ex) 10 { 11 //獲取描述當前異常的資訊 12 Console.WriteLine(ex.Message); 13 } 14 }

程式碼執行的結果為:“嘗試除以0”

注意:try塊後跟多個catch子句時,catch塊的順序很重要,因為會按順序檢查catch子句。將先捕獲特定程度較高的異常,然後捕獲特定程度較小的異常。

(二):try-finally語句
finally塊用於清楚try中分配任何資源,以及執行任何即使在發生異常時也必須執行的程式碼。控制檯總是傳遞給finally塊,與try塊的退出方式無關。
catch用於處理語句塊中出現的異常,而finally用於保證程式碼語句的執行,與前面的try的退出方式無關。例如:

 1 static void Main(string[] args)
 2         {
 3             int numone = 0;
 4             try
 5             {
 6                 //除數不能為0
 7                 float
numtwo = 123 / numone; 8 } 9 finally 10 { 11 Console.WriteLine(numone); 12 } 13 }

此段程式碼雖然引發了異常,但finally塊中的輸出語句任然會執行。

(三):try-catch-finally語句
通常,try塊、catch塊、finally塊是一起使用的。在try塊中獲取並使用資源,在catch塊中處理異常情況,並在finally塊中釋放資源。
(四):throw語句
throw語句用於立即無條件的引發異常,控制永遠不會到達緊跟在throw的語句。通常throw語句與try-catch語句或try-finally語句一起使用。當引發異常時,程式查詢處理此異常的catch語句.