C#异常处理-使用throw引发异常

C#提供了throw语句来引发异常。使用throw语句既可以引发系统异常,也可以引发自定义异常。使用throw语句抛出异常的语法如下:

throw ExObject;

ExObject:所要抛出的异常对象,这个异常对象是派生自System.Exception类的类对象。

实例代码如下:

using System;

class Program

{

static void Main()

{

int[]array = new int[4];

try

{

for (int i = 0; i < 5; i++)

{

array[i] = i;

if (i < array.Length)

throw new IndexOutOfRangeException();

}

}

catch (IndexOutOfRangeException e)

{

Console.WriteLine(e.Message);

}

}

}

上面的代码用if语句进行判断i<array.Length,如果i值超出数组大小,就用throw语句抛出异常。如果抛出异常,程序将中断执行,跳转到捕获异常的catch语句块中,执行catch块中语句。如果没有抛出异常,就会继续执行下面的代码。如果使用throw抛出异常,没有相应的catch捕获异常,出现异常时会中断程序运行。

使用throw语出抛出异常时,尽量不出抛出基类异常。因为基类异常对象包含的错误很多,无法判断是发生了什么类型的异常。