在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: " 和异常的消息。