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) { }
    
        }
    生命中最值得欣慰的,莫过于一觉醒来,你还在身旁
  • 相关阅读:
    Hibernate整合Druid数据库连接池遇到的问题整合
    Spring 整合quartz 时 定时任务被调用两次以及quartz 的配置
    BigDecimal divide:Non-terminating decimal expansion; no exact representable decimal result.
    Hibernate: Encountered a duplicated sql alias [] during auto-discovery of a native-sql
    oracle与mysql的区别
    搜索评价指标——NDCG
    java 动态修改注解值
    eclipse 取消置顶
    Xiangqi
    All in All
  • 原文地址:https://www.cnblogs.com/chaonuanxi/p/11228813.html
Copyright © 2011-2022 走看看