定义一个异常类DivZero,假如除数为零,则显示“除数不能为0”的异常信息。

标题所示问题出自《C#从入门到精通-第二版》

第七章 异常处理与程序调试

实战练习操作题

百度相关内容发现一些PPT的题目有提及,但没有具体答案,因为基础较差,被这个简单的东西占用了一些时间

 public class DivZero : Exception   //定义一个异常类
    {
        public DivZero(string str) : base(str)  //继承基类的有参构造函数
        { }
    }
    class Program
    {
      
        static void Main(string[] args)
        {
            try
            {             
                int x = int.Parse(Console.ReadLine()); //输入除数X
                if (x == 0)                            //如果X为0,抛出异常,程序结束
                {
                    throw new DivZero("除数不能为0");
                }
                int y = 10;
                int z = x / y;
                Console.WriteLine("{0}/{1}={2}",x,y,z);
            }
            catch(Exception e)
            {               
                Console.WriteLine(e.Message);
            }           
            finally
            {
                Console.ReadKey();
            }
        }
    }

主要时间浪费在,输入X之后,没有立即抛出异常,而是习惯性的在“  int z = x / y;”之后再抛出异常

所以程序异常直接通过catch执行了,没有达到题目要求。

猜你喜欢

转载自www.cnblogs.com/-young/p/12074953.html