zoukankan      html  css  js  c++  java
  • 如何自定义异常

          #region 如何自定义异常
                Console.WriteLine("请输入电脑价格(整数)----->");
                try
                {
                    int inputPCNum = Convert.ToInt32(Console.ReadLine());
                    PcPrice p = new PcPrice();
                    p.Set(inputPCNum);
                    Console.WriteLine("成交,顾客对价格很满意");
                }
                catch (Exception ex)
                {
                    //输出异常信息
                    Console.WriteLine("---------------处理异常部分----------------");
                    Console.WriteLine("异常信息:{0}", ex.Message);
                    Console.WriteLine(ex.Data["time"]);
                    Console.WriteLine("获取更多异常信息帮助:{0}", ex.HelpLink);
                    Console.WriteLine("---------------异常处于结束部分------------");
                }
                finally {
                    Console.WriteLine("执行清理代码");
                }
                #endregion
    
         public class PcPrice
        {
            internal void Set(int n)
            {                                    
                //判断参数是否大于5000
                if (n >5000)
                {
                    //创建自定义异常类的对象e
                    HiPriceException e = new HiPriceException("电脑定价超过5000,顾客不满意请调整价格");
                    //添加当前时间到e对象的Data属性中
                    e.Data.Add("time", string.Format("异常发生的时间:{0}",DateTime.Now));
                    //将帮助信息的Url赋值给e对象的HelpLink属性
                    e.HelpLink = "www.baidu.com";
                    throw e;
                }
                //判断参数是否大于3000
                else if(n<3000)
                {
                    //创建自定义异常类的对象e
                    HiPriceException e = new HiPriceException("电脑定价超过3000,顾客不满意请调整价格");
                    //添加当前时间到e对象的Data属性中
                    e.Data.Add("time", string.Format("异常发生的时间:{0}", DateTime.Now));
                    //将帮助信息的Url赋值给e对象的HelpLink属性
                    e.HelpLink = "www.baidu.com";
                    throw e;
                }
                Console.WriteLine("这台电脑的定价{0}",n);
            }
        }
    
        /// <summary>
        /// 自定义异常类HiPriceException,并继承于ApplicationException
        /// </summary>
        class HiPriceException:ApplicationException
        {
            //默认构造函数
            internal HiPriceException() { }
    
            //重载构造函数,继承基类方法
            internal HiPriceException(string m) : base(m) { }
    
        }
    生命中最值得欣慰的,莫过于一觉醒来,你还在身旁
  • 相关阅读:
    (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem
    二、HDFS(架构、读写、NN)
    剑指:和为S的两个数字
    剑指:和为S的连续正数序列
    Hive:数据倾斜
    linux如何查看端口被哪个进程占用
    du查看某个文件或目录占用磁盘空间的大小
    剑指:滑动窗口的最大值
    leetcode之求众数
    剑指:重建二叉树
  • 原文地址:https://www.cnblogs.com/chaonuanxi/p/11228813.html
Copyright © 2011-2022 走看看