C#中常见的异常和异常处理

      什么是异常:异常是程序在执行是发生的错误。

   导致异常的原因:

    一、代码错误,包括语法错误、逻辑错误
    二、资源不可用,这是由系统访问了未经授权的资源而引起的错误。
    三、公共语言运行库,这是有CLR内部引起的错误。

基异常类型(Exception)
Exception左右异常的基类型
ApplicationException发生非致命应用程序错误时引发的异常
SystemException为system命名空间中预定义异常定义基类
SystemException派生的异常类型
system.AccessViolationException在实图读写受保护内存时引发的异常
System.ArgumentException在向方法提供一个参数无效时引发的异常
 System.IndexOutOfRangeException访问数组时因元素索引超出数组边界而引发的异常
System.Collections.Generic.KeyNotFoundException指定用于访问集合中元素的键与集 合中的任何键都不匹配时所引发的异常。
System.InvalidCastException因无效类型转换或显示转换引发的异常
System.InvalidOperationException当方法调用对于对象的当前状态无效时引发的异常
System.InvalidProgramExcption当程序包含无效Microsoft中间语言或元数据时将引发的异常。这通常表示生成程序的编译器中有Bug。
System.IO.IOException发生I/O错误时引发的异常。
System.NotImplementedException在无法实现请求的方法或操作时引发的异常。
 System.NullReferenceException尝试对空对象引用进行操作时引发的异常
 System.OutOfMemoryException没有足够的内存继续执行程序时引发的异常。
System.StackOverflowExcepion挂起的方法调用过多而导致执行堆栈溢出时引发的异常。
System.ArgumentException派生的异常类型
System.ArgumentNullException当将空引用传递给不接受它作为有效参数的方法时引发的异常。
System.ArgumentOutOfRangeException当参数值超出调用的方法所定义的允许取值范围时引发的异常。
System.ArithmeticException派生的异常类型
 System.DivideByZeroException试图用零除整数或十进制数值时引发的异常
System.NotFiniteNumberException当浮点值为正无穷大、负无穷大或非数字时引发的异常。
System.OverflowException在选中的上下文中进行的算术运算、类型转换或转换操作导致溢出时引发的异常。
System.IOException派生的异常类型
System.IO.DirectoryNotFoundException当找不到文件或目录的一部分时引发的异常
System.IO.DriveNotFoundException当尝试访问的驱动器或共享不可用时引发的异常。
System.IO.EndofSreamException读操作试图超出流的末尾时引发的异常。
 System.IO.FileLoadException当找到托管程序集却不能加载它时引发的异常。
 System.IO.FileNotFoundException试图访问磁盘上不存在的文件失败时引发的异常
System.IO.PathTooLongException当路径名或文件名超过系统定义的最大长度时引发的异常

try……catch……finally

try:包含抛出异常的代码

catch:包含抛出异常是要执行的代码

finally:包含始终会执行的代码。如果产生异常则在try 块之后执行,如果处理了异常,就在catch块后执行

                                          处理异常方法参考

 

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值