#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) { } }