C#  抛出和捕获异常
在C#中使用try、catch、finally和throw关键字管理异常。本实验指导中介绍了使用try/catch块捕获除数异常的方法以及一个try块对应多个catch块捕获多个可能发生的异常的方法。
(1)打开Microsoft Visual Studio 2010。新建一个名为“MyApplication7_1”的项目,在该项目中新建一个“控制台应用程序”。
(2)使用Console类的ReadLine()方法接收用户从控制台输入的数字a和b,使用try/catch块的try部分进行除法运算,catch部分捕获异常。当用户输入的除数为零时,抛出异常。
//除数异常
Console.WriteLine("请输入数字a");
int a=Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入数字b");
int b=Convert.ToInt32(Console.ReadLine());
int c=0;
try
{
//当b的值为零时抛出异常
c=a/b;
}
catch(Exceptione)
{
Console.WriteLine("发生的异常是:"+e.Message);
}
finally
{
try catch的使用方法Console.WriteLine("a/b的值是:"+c);
}
(3)在Program类中定义一个静态的方法PrintString(),当字符串为空时使用throw关键字发出出现异常的信号。
static void PrintString(string str)
{
if(string.IsNullOrEmpty(str))
throw new ArgumentException("字符串不能为空!");
}
(4)在try块下放置两个catch块捕获可能发生的异常。第一个catch块捕获ArgumentException异常;第二个catch块捕获Exception异常。
//一个try块对应多个catch块
Console.WriteLine("输出结果是:");
try
{
string str=null;
PrintString(str);
}
catch(ArgumentException e)
{
Console.WriteLine("第一个异常:"+e.Message);
}
catch(Exception e)
{
Console.WriteLine("第二个异常:"+e.Message);
}
(5)按下【Ctrl+S】键保存源代码,然后执行菜单栏中的【调试】命令或者按下【Ctrl+F5】键查看运行结果,如图7-9所示。
图7-9  运行结果

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。