在C#中,except
語句用于捕獲和處理異常。當(dāng)在try
塊中發(fā)生異常時(shí),程序會(huì)跳過剩余的try
塊代碼,執(zhí)行與異常類型匹配的except
塊中的代碼。如果有多個(gè)except
塊,它們將按照它們?cè)诖a中出現(xiàn)的順序進(jìn)行處理。
以下是一個(gè)簡(jiǎn)單的示例,說明如何使用except
語句捕獲和處理異常:
using System;
class Program
{
static void Main()
{
try
{
int result = Divide(10, 0);
Console.WriteLine("Result: " + result);
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Error: Division by zero is not allowed.");
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
static int Divide(int a, int b)
{
return a / b;
}
}
在這個(gè)示例中,我們嘗試將一個(gè)數(shù)除以零。這將引發(fā)DivideByZeroException
異常。因?yàn)槲覀冊(cè)?code>catch語句中首先捕獲了DivideByZeroException
,所以程序?qū)⑤敵?“Error: Division by zero is not allowed.”,而不會(huì)執(zhí)行后面的catch
語句。
如果我們沒有首先捕獲特定的異常,程序?qū)错樞驁?zhí)行后續(xù)的catch
語句,直到找到一個(gè)匹配的異常類型。在這種情況下,如果DivideByZeroException
沒有被捕獲,程序?qū)?zhí)行最后一個(gè)catch
語句,輸出 "Error: " 和異常的消息。