using System; /* 异常异常处理 * 传统的错误表达方式: 错误码,举列 * 错误码的缺点:不处理的则很难发现,每次处理则很麻烦,难以看出错误的原因,容易使得程序进入不确定的状态 * try catch Exception ex异常也是对像 * Exception类主要属性: Message, StackTrace * 发生异常后程序默认就退出了,后续代码不会被执行了,catch以后的代码则会继承执行 * 不要吃掉异常 * 扔出自己的异常 * */ namespace _12异常 { class Program { static void Main(string[] args) { /*int i = DeleteFile(@"c:/avi"); Console.WriteLine("删除结果:{0}",i); try { Console.WriteLine("Convert之前"); int ii = Convert.ToInt32("aaaa"); Console.WriteLine("Convert之后"); }catch(Exception ex){ Console.WriteLine("类型错误:"+ex.Message+". 异常堆栈:"+ex.StackTrace); } Console.WriteLine("ReadKey之前");*/ try { string desc = GetAgeDesc(400); } catch (Exception ex) { Console.WriteLine("数据错误:{0}",ex.Message); } Console.ReadKey(); } static int DeleteFile(string filepath) { //尝试删除文件,发现无法删除 return -1; //return 0如果没有权限, return -2,找不到要删除的文件 } static string GetAgeDesc(int age) { if (age >= 0 && age <= 3) { return "婴幼儿"; } else if (age >= 3 && age <= 18) { return "少年"; } else if (age >= 18 && age <= 180) { return "成年人"; } else if(age < 0) { throw new Exception("您来自反物质世界吧1"); }else{ throw new Exception("您见过老佛爷吧!"); } } } }