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语出抛出异常时,尽量不出抛出基类异常。因为基类异常对象包含的错误很多,无法判断是发生了什么类型的异常。

posted on 2012-06-28 09:14  流星落  阅读(1435)  评论(0编辑  收藏  举报

导航