在C#中,except
語句用于捕獲和處理異常。當在try
塊中發生異常時,程序會跳過剩余的try
塊代碼,執行與異常類型匹配的except
塊中的代碼。如果有多個except
塊,它們將按照它們在代碼中出現的順序進行處理。
以下是一個簡單的示例,說明如何使用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;
}
}
在這個示例中,我們嘗試將一個數除以零。這將引發DivideByZeroException
異常。因為我們在catch
語句中首先捕獲了DivideByZeroException
,所以程序將輸出 “Error: Division by zero is not allowed.”,而不會執行后面的catch
語句。
如果我們沒有首先捕獲特定的異常,程序將按順序執行后續的catch
語句,直到找到一個匹配的異常類型。在這種情況下,如果DivideByZeroException
沒有被捕獲,程序將執行最后一個catch
語句,輸出 "Error: " 和異常的消息。