C#异常类相关总结

C#异常类相关总结

C#异常类一、基类Exception
C#异常类二、常见的异常类
1、SystemException类:该类是System命名空间中所有其他异常类的基类。(建议:公共语言运行时引发的异常通常用此类)
2、ApplicationException类:该类表示应用程序发生非致命错误时所引发的异常(建议:应用程序自身引发的异常通常用此类)
C#异常类三、与参数有关的异常类
此类异常类均派生于SystemException,用于处理给方法成员传递的参数时发生异常
1、ArgumentException类:该类用于处理参数无效的异常,除了继承来的属性名,此类还提供了string类型的属性ParamName表示引发异常的参数名称。
2、FormatException类:该类用于处理参数格式错误的异常。
C#异常类四、与成员访问有关的异常
1、MemberAccessException类:该类用于处理访问类的成员失败时所引发的异常。失败的原因可能的原因是没有足够的访问权限,也可能是要访问的成员根本不存在(类与类之间调用时常用)
2、MemberAccessException类的直接派生类:
i、FileAccessException类:该类用于处理访问字段成员失败所引发的异常
ii、MethodAccessException类:该类用于处理访问方法成员失败所引发的异常
iii、MissingMemberException类:该类用于处理成员不存在时所引发的异常
C#异常类五、与数组有关的异常
以下三个类均继承于SystemException类
1、IndexOutOfException类:该类用于处理下标超出了数组长度所引发的异常
2、ArrayTypeMismatchException类:该类用于处理在数组中存储数据类型不正确的元素所引发的异常
3、RankException类:该类用于处理维数错误所引发的异常
C#异常类六、与IO有关的异常
1、IOException类:该类用于处理进行文件输入输出操作时所引发的异常。
2、IOException类的5个直接派生类:
i、DirectionNotFoundException类:该类用于处理没有找到指定的目录而引发的异常。
ii、FileNotFoundException类:该类用于处理没有找到文件而引发的异常。
iii、EndOfStreamException类:该类用于处理已经到达流的末尾而还要继续读数据而引发的异常。
iv、FileLoadException类:该类用于处理无法加载文件而引发的异常。
v、PathTooLongException类:该类用于处理由于文件名太长而引发的异常。
C#异常类七、与算术有关的异常
1、ArithmeticException类:该类用于处理与算术有关的异常。
2、ArithmeticException类的派生类:
i、DivideByZeroException类:表示整数货十进制运算中试图除以零而引发的异常。
ii、NotFiniteNumberException类:表示浮点数运算中出现无穷打或者非负值时所引发的异常。

在.NET框架中的异常类都派生自SystemException 类。这个类的大部分常用成员如下:

HelpLink是一个链接到帮助文件的链接,该帮助文件提供异常的相关信息。 
Message是指明一个错误细节的文本。 
Source导致异常的对象或应用的名称。 
StackTrace是堆栈中调用的方法列表。 
TargetSite是抛出异常的方法名称。

Try/Catch/Finally 块
C#中使用Try/Catch/Finally块处理一个异常。
Try语句指明在执行过程中需要监视抛出异常的代码块。
Catch语句指明了在执行了Try代码块后应该执行的代码块。这个代码块无论异常是否发生都会执行。实际上,它常用于可能要求的清理代码。

 
http://www.cnblogs.com/PaulMa/archive/2011/06/25/2090177.html
 

最新文章

  1. bug report: Jump to the invalid address stated on the next line at 0x0: ???
  2. python 列表常用操作
  3. JSON序列化和反序列化的实例
  4. POJ 3277 City Horizon(扫描线+线段树)
  5. DevExpress 关于 GridView 表格编辑中 点击其他按钮里导致 值未取到处理
  6. WCF关于VS2010的配置
  7. Java注解全面解析
  8. Sql2008的行列转换之行转列
  9. 跑步进入全站 HTTPS ,这些经验值得你看看
  10. mysql存储过程controller的not found造成混乱的解决办法
  11. FILTER 执行次数
  12. 基于A2DFramework的事件机制实现
  13. Android onConfigurationChanged的作用
  14. Docker部署DVWA
  15. 浅谈基于Intellij IDEA Maven的配置与使用
  16. 解决采集知乎数据时由于账号被封遗漏的账号重爬问题(python代码)
  17. EasyUI datagrid 选择单元格 出现文本框 修改 四
  18. ASP.NET 实现重启系统或关机
  19. codeforces水题100道 第十八题 Codeforces Round #289 (Div. 2, ACM ICPC Rules) A. Maximum in Table (brute force)
  20. 在Tomcat中部署web项目的三种方式

热门文章

  1. 利用SpringAOP 实现 日志输出
  2. mysql查看数据库
  3. Java-URLConnection类详解
  4. C#-面向对象的三大特性——继承
  5. navigate连接MySQL报错:navigate your password has expired to log in your must change it using a client that supports
  6. Java基础-关于session的详细解释
  7. IE/FF/Chrome下document.documentElement和document.body的 scrollHeight/scrollTop/clientHeight
  8. 【BZOJ-1010】玩具装箱toy DP + 斜率优化
  9. 【bzoj2456】 mode
  10. 【poj1019】 Number Sequence