c#实验7.2:阶乘的异常处理

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class overflowRange : ApplicationException
    {
        public overflowRange(string msg)
            : base(msg)
        { }
    }
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Console.Write("请输入一个数:");
                double x = double.Parse(Console.ReadLine());
                int y = (int)x;
                if (x > (double)y || (double)y < x)
                {
                    throw new overflowRange("你输入的数应该为整数!");
                }
                if (x == y)
                {
                    int sum = 1;
                    for (int i = 1; i <= x; i++)
                    {
                        sum = sum * i;
                    }
                    Console.WriteLine("该数的阶乘为:" + sum);
                }
            }
            catch (overflowRange e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                Console.WriteLine("按任意键退出...");
                Console.ReadKey();
            }
        }
    }
}

你可能感兴趣的:(c#实验7.2:阶乘的异常处理)