在使用C#进行编程时,经常会遇到各种各样的错误,其中有些错误可以在编译时遇到并予以解决,而有些错误只在程序运行时才会出现。这些错误中有些是由于程序代码的缺陷造成的,此类错误可以通过代码完善解决。另外一些错误则与实际运行情况有关,这时就需要对这些未知的错误进行处理,通常被称为异常处理。
算术运算中最常见的错误是除以一个为0的数,下面的代码段演示了这种错误:
class Program
{
static void Main(string[] args)
{
//定义两个整数
int x = 3;
int y = 0;
//求x/y的值
int z = x / y;
}
}
虽然上述代码中出现了一个明显的除以0的错误,但Visual Studio 2005在编译时并不能发现,在运行时才会引发一个异常。这时就是在编程时,预想到可能出现的错误并予以处理。如下的实例演示了异常处理的一般手段。
创建一个Windows控制台应用程序,演示C#中异常处理的一般方法。
(1)启动Visual Studio 2005。
(2)选择“文件”→“新建”→“项目”命令,打开“新建项目”对话框。
(3)在“项目类型”树形列表中选择Visual C#→Windows选项后,在“模板”列表中选择“控制台应用程序”选项。
(4)在“名称”文本框中输入项目的名称,此处为“Exec”。
(5)单击“确定”按钮,创建项目。
(6)Visual Studio 2005已经默认添加了几个文件,并自动打开其中的一个文件Progr-
am.cs。修改该文件中的Main方法内容如下:
static void Main(string[] args)
{
//定义两个整数
int x = 3;
int y = 0;
try
{
//求x/y的值
int z = x / y;
Console.WriteLine(z);
}
catch
{
Console.WriteLine("程序中出现了错误,请检查代码!");
}
}
按Ctrl+F5组合键运行程序,运行结果如图2-26所示。按任意键可退出程序。
图2-26 运行结果
从运行结果可以看出,虽然程序中存在一个明显的除以0的错误,但程序还是可以通过编译。运行时,并没有输出z的值,而是输出了catch关键字定义的代码块之间的内容。简单地讲,try关键字的代码块包含可能出错的代码,catch关键字代码块中包含出错后的处理方式。