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块后执行

                                          处理异常方法参考

发布了114 篇原创文章 · 获赞 18 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43267344/article/details/100706822