class Program
{
static void Main()
{
try
{
// 可能抛出DivideByZeroException或FormatException的代码
int result = 10 / 0; // 这里会抛出DivideByZeroException
int num = int.Parse("abc"); // 这里会抛出FormatException
}
catch (DivideByZeroException ex)
{
Console.WriteLine($"捕获到除零异常: {ex.Message}");
}
catch (FormatException ex)
{
Console.WriteLine($"捕获到格式异常: {ex.Message}");
}
}
}
捕获特定类型异常的好处:
- 针对性处理:可以针对不同类型的异常编写不同的处理逻辑,使程序的异常处理更加准确和灵活。比如在上述代码中,对于除零异常和格式异常可以分别采取不同的修复措施或提示信息。
- 避免过度捕获:如果只使用一个通用的
catch
块捕获所有异常,可能会捕获到一些不应该在当前位置处理的异常,导致错误处理不当。而捕获特定类型异常可以精确处理预期的异常,不影响其他类型异常的正常处理流程。
- 代码可读性:捕获特定类型异常使代码结构更加清晰,从
catch
块的类型就能明确知道这段代码是专门处理哪种异常情况,提高了代码的可读性和可维护性。