C# try、catch、finally

本文介绍C#中的try、catch和finally关键字用法,通过实例演示如何处理可能发生的异常,并解释了不同异常类型的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在c#中处理错误经常会使用这几个关键字。

本文介绍一下其用法

try、catch、finally:这三个关键字try是必定要用的,要不然就失去了意义。

然后catch和finally可以不用但是要注意遵循原则,一个或多个catch的时间可以不用finally但是也可以用。

如果没有catch的时间必须要用finally。

其中每个关键字都对应的有自己的代码块

如这样的形式

  1. try  
  2. {  
  3.    //code  
  4. }  
  5. catch  
  6. {  
  7.   //code  
  8. }  
  9. finally  
  10. {  
  11.    //code  
  12. }  

现在开始说正事了

try代码块主要包括出错的代码如
 i = Convert.ToInt32(str);

不知道是否能转化成功。
catch是处理异常的代码

finally是处理异常之后要做的事情

  1.         static void Main(string[] args)  
  2.         {  
  3.             int i=1 ;  
  4.             string str = "dfdfs";  
  5.             try  
  6.             {  
  7.                 i = Convert.ToInt32(str);//有异常的地方  
  8.             }  
  9.             catch //(Exception e)  
  10.             {  
  11.                 //Console.WriteLine(e.Message);  
  12.                 i = 3;//处理异常  
  13.                 //throw new Exception("转化失败");  
  14.             }  
  15.             /* 
  16.               这里可以添加上,根据异常的类型来匹配,有点像case。关于异常的类型有很多 
  17. //System 
  18.  
  19. ArgumentNullException //参数异常 
  20. ArgumentOutOfRangeException //参数异常 
  21. DivideByZeroException //除数为0异常 
  22. IndexOutOfRangeException //索引超出范围的异常 
  23. NullReference-Exception//参数异常 
  24. OverflowException //溢出异常 
  25. StackOverflowException //堆溢出异常 
  26.  
  27. //System.IO 
  28.  
  29. DirectoryNotFoundException//找不到路径的异常 
  30. EndOfStreamException //结束流的异常 
  31. FileNotFoundException//找不到文件异常 
  32. PathToo-LongException //路径太长异常 
  33.  
  34. //System.Data 
  35.  
  36. DuplicateNameException 
  37. InvalidConstrainException 
  38. InvalidExpressionException 
  39. Missing-PrimaryKeyException 
  40. NoNullAllowed-Exception 
  41. ReadOnlyException 
  42.  
  43. //System.Runtime.InteropServices 
  44.  
  45. InvalidComObjectException 
  46. InvalidOleVariantTypeException 
  47. SEHException 
  48.               catch(ExceptionType e ) 
  49.                { 
  50.              //异常处理 
  51.                } 
  52.              */  
  53.             finally  
  54.             {  
  55.                 Console.WriteLine(i.ToString());  
  56.               
  57.             }  
  58. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值