/*
* 烟台大学计算机学院学生
*All right reserved.
*文件名称:c#
*作者:孔云
*完成日期:2014年10月16日
*版本号:v1.0
*对任务及求解方法的描述部分:输入两个数,输出其相除的结果,并进行增加一个自定义异常类outofBoundException,
*该类的父类为ApplicationException。该类同时声明一个带参数的构造函数。在Program类中,通过throw关键字抛出自定义异常进行处理。
*我的程序:
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class outofBoundException : ApplicationException//声明新的异常类
{
public outofBoundException(string msg)
:base(msg)
{}
}
class Program
{
static void Main(string[] args)
{
try
{
Console.Write("请输入第一个数:");
double x = double.Parse(Console.ReadLine());//数据类型转换
Console.Write("请输入第二个数:");
double y = double.Parse(Console.ReadLine());
if(x<0||y<0) //抛出异常,调用自定义异常类的有参构造函数
{
throw new outofBoundException("不允许为负数!");
}
Console.WriteLine("这两个数的商是:{0}", x / y);
}
catch (FormatException)//捕捉数据类型转换异常
{
Console.WriteLine("必须输入数字");
}
catch (DivideByZeroException)//捕捉除数为零异常
{
Console.WriteLine("除数不能为零!");
}
catch(outofBoundException e)
{
Console.WriteLine(e.Message);
}
catch (Exception e)//捕捉其他未知类型异常
{
Console.WriteLine("其他错误:{0}", e.Message);
}
finally
{
Console.WriteLine("按任意键退出");
Console.ReadLine();
}
}
}
}
自定义异常处理
最新推荐文章于 2022-11-09 00:27:04 发布