📜  c# try catch multiple catchs - C# (1)

📅  最后修改于: 2023-12-03 14:39:44.357000             🧑  作者: Mango

C# try-catch语句

简介

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块来处理不同类型的异常。