二、清除与处理所有异常
如果用户对产生的错误不进行处理,而清除产生的错误分配的资源,那么可以使用try...finally语句来完成,这里的finally块用于清除try块中分配的任何资源以及运行任何即使在发生异常时也必须执行的带代码。格式为:
try
{
}
catch(异常类 异常对象实例)
{
}
finally
{
}
这个组合是处理所有异常最好的,它合并前面两种错误处理技术,即捕获错误,清除并继续执行应用程序。
例二:用240去除这个数组中的各元素,由于数组中的元素值有0,所以会产生处数据为0的错误。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Text
{
class Program
{
static void Main(string[] args)
{
int[] nums = { 4,8,12,0,10 };
try//捕获异常
{
for (int i = 0; i < nums.Length; i++)
{
int valude = 0;
valude = 240 / nums[i];
Console.WriteLine("240/{0}={1}", nums[i], valude);
}
}
catch (Exception a)//访问异常对象
{
Console.WriteLine(a.Message);//输出异常错误
}
finally
{
Console.WriteLine("有没有异常我都会运行");
}
Console.WriteLine();
Console.ReadLine();
}
}
}
输出的结果为:

三、引发异常
在编写程序时,有时可能要引发异常,以便捕获异常。引发异常是通过throw语句和一个适当的异常类来实现的。其格式为:
throw new 异常类(异常描述);
异常类可以是C#语言类库中提供的异常类,也可以是自定义异常类。异常描述为可选择项,用来描述产生异常错误,可产生异常时捕获到以便快速找到产生错误的代码。










