📅  最后修改于: 2023-12-03 14:39:44.357000             🧑  作者: Mango
try-catch
语句是C#程序员经常使用的一种异常处理方法,在代码中允许我们检测程序中的错误,并根据需要捕获并处理这些异常,以确保程序的正常运行。当程序在try
块中遇到异常错误时,catch
块会抓住该异常并执行特定的代码块以处理异常,从而避免程序终止。
在C#中,一个try
块可以有一个或多个catch
块,每个catch
块都负责捕获特定类型的异常并处理它。本文将介绍如何编写一个C#程序来使用try-catch
语句,并提供多个catch
块的例子。
下面是使用C#的try-catch
语句以及多个catch
块的示例代码。在这个示例中,我们将对用户输入的两个数字进行除法运算,如果分母为零,则抛出异常。
try
{
Console.Write("请输入被除数:");
int dividend = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入除数:");
int divisor = Convert.ToInt32(Console.ReadLine());
int result = dividend / divisor;
Console.WriteLine($"结果为 {result}");
}
catch (FormatException)
{
Console.WriteLine("输入的不是数字!");
}
catch (DivideByZeroException)
{
Console.WriteLine("除数不能为0!");
}
catch (Exception ex)
{
Console.WriteLine($"错误:{ex.Message}");
}
finally
{
Console.WriteLine("程序结束。");
}
上面的代码中,我们已经定义了三个不同的catch
块。每个块都捕获特定类型的异常。当出现FormatException
时,我们输出错误的消息;而出现DivideByZeroException
时,则输出除数不能为0的错误。
由于C#中的异常都是从System.Exception
类派生而来的,所以最后的catch
块将抓住任何未被前面的catch
块处理的异常,并输出错误消息。
无论是否发生异常,最后的finally
块都将执行并输出“程序结束”消息。
通过使用try-catch
语句,我们可以捕获程序中的异常并处理它,以确保程序的正常运行。在编写C#代码时,多个catch
块是非常有用的,因为它允许我们捕获不同类型的异常并根据需要处理它们。本文提供的示例代码演示了如何使用多个catch
块来处理不同类型的异常。