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