在程序设计中不可避免地会出现各种各样的错误,在编写代码时须要尽量避免。

在处理错误时,首先应该分析错

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

错误的分类

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmd6aWppZWppYXlvdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

错误处理

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

1.调试

调试我们经经常使用,什么设置断点定位错误了,并且C#定位错误很easy,还会提示错误的类型。这里就不具体说了。

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

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

(2)错误处理语句



(A). Try....catch

Try里面为可能异常的程序代码,Catch里面为处理异常类型的异常控制代码。

事实上跟VB中的GO TO语句差点儿相同。

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

<span style="font-family:KaiTi_GB2312;font-size:18px;">  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); //显示错误信息
   }
   }
  
   }
  }</span>

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

和try...catch语句比多了个finally块,其作用是无论是否发生异常。finally块都会运行。我们全然在上个除零样例中加个finally块儿。非常easy。

(C).Throw

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

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

<span style="font-family:KaiTi_GB2312;font-size:18px;">  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;}
   }
   }
  }</span>

C#中经常使用的异常类



小结

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

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

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

最新文章

  1. Vue1.0 的技术栈
  2. C# foreach 中获取索引index的方法
  3. Java可变参数传递中可以接收多个对象
  4. 通过驱动向打印机发送一段(ESC)控制指令
  5. myeclipse设置编码格式的4种情况
  6. Piggy-Bank_完全背包
  7. 《Prism 5.0源码走读》UnityBootstrapper
  8. [未完成][Mooc]关于IO总结
  9. 项目与软件推荐之编辑器-QOwnNotes(刺激自己)
  10. AttributeError: &#39;module&#39; object has no attribute &#39;Thread&#39;
  11. JS之onunload、onbeforeunload事件详解
  12. [转] babel入门基础
  13. cocos2d-x 贡献一个oss上传脚本
  14. Codeforces Round #436 A. Fair Game
  15. 定义一个复数(z=x+iy)类Complex,包含: 两个属性:实部x和虚部y 默认构造函数 Complex(),设置x=0,y=0 构造函数:Complex(int i,int j) 显示复数的方法:showComp()将其显示为如: 5+8i或5-8i 的形式。 求两个复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex addComp(Compl
  16. HDU 2176 基础NIM 输出方案
  17. yml 配置文件注入
  18. Linq集合操作之Intersect,Except,Union源码分析
  19. Git代码冲突常见解决方法
  20. 一个简单的WeakList的实现

热门文章

  1. C# 访问mongodb数据库
  2. idea之映射servlet问题
  3. 22 C#中的异常处理入门 try catch throw
  4. Spring.Net学习笔记(0)-错误汇总
  5. Objective-C设计模式——适配器Adapter(接口适配)
  6. [ SPOJ PT07J ] Query on a tree III
  7. 继续C#开发or转做产品
  8. NX自动出图
  9. DNN结构构建:NAS网络结构搜索和强化学习、迁移学习
  10. 在eclipse里如何快速定位到某一行?