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) { }
    
        }
    生命中最值得欣慰的,莫过于一觉醒来,你还在身旁
  • 相关阅读:
    从a文件判断是否删除b文件中的行(sed示例)
    绝对路径的表示方式为什么是"/usr"而不是"//usr"
    判断ssh远程命令是否执行结束
    彻底搞懂shell的高级I/O重定向
    Resource Agent:LSB和OCF
    流程控制语句(MySQL/MariaDB )
    MySQL/MariaDB中游标的使用
    翻译:DECLARE HANDLER语句(已提交到MariaDB官方手册)
    从集合的无序性看待关系型数据库中的"序"
    MariaDB/MySQL存储过程和函数
  • 原文地址:https://www.cnblogs.com/chaonuanxi/p/11228813.html
Copyright © 2011-2022 走看看