在C#程序中,我们可以使用多个catch块来处理多个异常,因为有时还需要处理一个编码节的多个异常,并且显然一个编码节可以生成多个异常。
看下面的示例,
在这里,我们使用了两个catch块,一个用于捕获“ DivideByZeroException”,当任何数字除以零时将发生该异常,第二个用于捕获任何其他异常,如我们在上一教程(C#异常处理)中所讨论的那样。“Exception”类是超类,可用于处理所有类型的异常。
using System; class Program { static void Main() { int number1 = 20; int number2 = 0; int result = 0; try { result = number1 / number2; Console.WriteLine("Result : " + result); } catch (DivideByZeroException e) { Console.WriteLine(e.Message); } catch (Exception) { Console.WriteLine("Exception Occured"); } } }
输出结果
如果我们不知道应该用于捕获特定异常的特定类,那么我们也可以仅使用“ catch”关键字来处理/捕获异常。无需使用类名,请考虑下面的程序,其中我们没有指定任何异常类。
using System; class Program { static void Main() { int result = 0; int num = 0; try { result = 500 / num; Console.WriteLine("此行将不执行"); } catch { Console.WriteLine("try块中发生异常"); } } }
输出结果
try块中发生异常