C# 异常处理
使用try...catch...finally语句
1 int[] myArr = { 1, 2, 3, 4 }; 2 3 try 4 { 5 int tmp = myArr[4]; //容易出现异常的语句 6 } 7 catch(IndexOutOfRangeException e) //括号内是出现异常的类型,可以不写(),将会捕获所有类型的异常 8 { 9 //异常出现的处理方式 10 Console.WriteLine(e.Message); 11 } 12 catch(FieldAccessException e) //没有此类型异常则不会运行cathch中的代码 13 { 14 Console.WriteLine(e.Message); 15 } 16 finally 17 { 18 //无论是否出现异常,此模块的代码都会执行 19 Console.WriteLine("Finally部分"); 20 21 } 22 Console.Write("使用try catch语句,遇到错误不会中断代码,而会执行到最后");
try catch 使用实例:输入两个数字,并求他们的和
1 int num1 = 0, num2 = 0; 2 Console.WriteLine("请输入两个数字,用空格隔开"); 3 4 ////只能捕获一次的情况 5 //try 6 //{ 7 // string str = Console.ReadLine(); 8 // string[] strArr = str.Split(" "); 9 // num1 = Convert.ToInt32(strArr[0]); 10 // num2 = Convert.ToInt32(strArr[1]); 11 //} 12 //catch 13 //{ 14 // Console.WriteLine("非法输入,请重新输入两个数字,用空格隔开"); 15 // string str = Console.ReadLine(); 16 // string[] strArr = str.Split(" "); 17 // num1 = Convert.ToInt32(strArr[0]); 18 // num2 = Convert.ToInt32(strArr[1]); 19 //} 20 //finally 21 //{ 22 // Console.WriteLine("{0}+{1}={2}", num1, num2, num1 + num2); 23 //} 24 25 //使用循环捕获异常,直到异常消失 26 while (true) 27 { 28 try 29 { 30 //在try块内,某行代码出现异常,则之后的代码都不会执行,转而执行catch 31 string str = Console.ReadLine(); 32 string[] strArr = str.Split(" "); 33 num1 = Convert.ToInt32(strArr[0]); 34 num2 = Convert.ToInt32(strArr[1]); 35 break; //try块内代码执行完毕,才会执行到break 36 } 37 catch 38 { 39 Console.WriteLine("非法输入,请重新输入两个数字,用空格隔开"); 40 } 41 } 42 Console.WriteLine("{0}+{1}={2}", num1, num2, num1 + num2);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!