当前位置:   article > 正文

C# try、catch、finally_c#的try、catch、finally

c#的try、catch、finally

在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. }  
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/114868
推荐阅读
相关标签
  

闽ICP备14008679号