首页 > 代码库 > 小议C#错误调试和异常处理

小议C#错误调试和异常处理

    在程序设计中不可避免地会出现各种各样的错误,在编写代码时需要尽量避免。在处理错误时,首先应该分析错

误的类型,找出出错的原因才能解决错误。


错误的分类





错误处理


一、错误处理有两种类型如下:

    1.调试

    调试我们经常用,什么设置断点定位错误了,而且C#定位错误非常简单,还会提示错误的类型,这里就不详细说了。

    2.加入异常处理的语句使程序具有容错功能

   (1)C#中管理异常的四个关键字:try、catch、finally、throw。

   (2)错误处理语句



   (A). Try....catch

    Try里面为可能异常的程序代码,Catch里面为处理异常类型的异常控制代码。其实跟VB中的GO TO语句差不多。

    Eg:通过try...catch语句来捕捉整数除零错误

  using System;
  using System.Collections.Generic;
  using System.Text;
  namespace 错误处理
  {  class program
     {  static void Main(string[] args)
        {  int x = 5,y = 0;
           try                                      //try...catch语句
           {
              x =x/y;                               //引发除0错误
           }
           catch(Exception err)                     //捕捉该错误
           {
              Console.Writeline("{0}",err.Message); //显示错误信息
           }
        }
        
     }
  }

   (B).Try...catch...finally

    和try...catch语句比多了个finally块,其作用是不管是否发生异常,finally块都会执行。我们完全在上个除零例子中加个finally块儿,很简单。

   (C).Throw

    有两种使用方式:一种是抛出异常;一种是出现异常时通过catch块对异常处理,之后使用throw语句重新抛出异常

    Eg:在上个除零例子上加上throw如下

  using System;
  using System.Collections.Generic;
  using System.Text;
  namespace 错误处理
  {  class program
     {  static void fun()
        {  int x = 5,y = 0;
           try                                      //try...catch语句
           {
              x =x/y;                               //引发除0错误
           }
           catch(Exception err)                     //捕捉该错误
           {
              Console.Writeline("{0}",err.Message); //显示错误信息
              throw;                                //重新抛出异常
           }
        }
        static void Main(string[] args)
       {  try
          { fun(); }
          catch (Exception err)                     //捕捉该错误
          { Console.WritLine("Main:{}",err.Message;}      
       }
     }
  }

C#中常用的异常类




小结

    程序的编写就是不断地调试的过程,再牛的程序员也不会写出完全没有错误的代码,本篇博文就是我们在日常C#

编程中避免和处理错误的一个小小的总结,http://blog.csdn.net/zhangzijiejiayou/article/details/9857153

是是我对VB错误处理的一个链接,希望对大家有所帮助。