C#处理过程中存在的不同异常类型.,
MemberAccessException 访问错误:类型成员不能被访问
ArgumentException 参数错误:方法的参数无效
ArgumentNullException 参数为空:给方法传递一个不可接受的空参数
ArithmeticException 学计算错误:由于数学运算导致的异常,覆盖面广。
ArrayTypeMismatchException 数组类型不匹配
DivideByZeroException 被零除
FormatException 参数的格式不正确
IndexOutOfRangeException 索引超出范围,小于0或比最后一个元素的索引还大
InvalidCastException 法强制转换,在显式转换失败时引发
MulticastNotSupportedException 不支持的组播:组合两个非空委派失败时引发
NotSupportedException 调用的方法在类中没有实现
NullReferenceException 引用空引用对象时引发
OutOfMemoryException 无法为新语句分配内存时引发,内存不足
OverflowException 溢出
StackOverflowException 栈溢出
TypeInitializationException 错误的初始化类型:静态构造函数有问题时引发
NotFiniteNumberException 无限大的值:数字不合法
什么是异常:异常是程序在执行是发生的错误。
导致异常的原因:
一、代码错误,包括语法错误、逻辑错误
二、资源不可用,这是由系统访问了未经授权的资源而引起的错误。
三、公共语言运行库,这是有CLR内部引起的错误。
Exception类
Exception为我们提供了大量的捕获、处理异常的方法。Exception类中封装的异常处理有两种
1、由用户程序执行引发的异常,派生于ApplicationException类。
2、另一种是有公共语言运行库引发的异常,派生于SystemException类。
常见的异常类型:
SystemException:提供系统异常和应用程序异常之间的区别。
ArgumentException:当方法提供的任意一个参数无效时,引发此异常。
ArithmeticException:此异常表示由于算术运算导致的错误。
DataException:如果在使用ADO.NET组件时生成错误,引发此异常。
FormatException:当参数的格式不符合被调用方法的参数规范时,引发此异常。
IOException:当出现I/O错误是,引发此异常。
IndexOutOfRangeException:当试图使用数组边界外的索引来访问数组的元素时,引发此异常。
ArgumentNullException:在将空引用传递给无效参数的方法时,引发此异常。
OverflowException:当算数运算的结果大而无法由目标类型表示时,引发此异常。
DivideByZeroException:当试图用某个数除以零时,引发此异常。
ApplicationException:在应用程序执行过程中检测到有应用程序定义的异常。
TargetException:当试图调用无效目标时,引发此异常。
ArrayIndexOutOfBoundsException:数组小于或大于实际的数组大小。
NullPointerException:尝试访问Null对象成员。
ClassNotFoundException:不能加载所需的类。
InputMismatchException:欲得到的数据类型与实际输入数据类型不匹配。
IllegalArgumentException:方法接受到非法参数。
异常类常用属性:
Message:提供引发异常的详细信息。
Source:此属性表示导致异常发生的应用程序或对象的名称。(异常源)
StackTrace:此属性提供在堆栈上所调用方法的详细信息,并首先显示最近调用的方法。
InnerException:对内部异常的引用,如果此异常基于前一个异常,则内部异常指最初发生的异常。
C# 常见错误处理
1 ArgumentException 在向方法提供的其中一个参数无效时引发的异常
2 AppDomainUnloadedException 在尝试访问已卸载的应用程序域时引发的异常
3 ArithmeticException 因算术运算、类型转换或转换操作中的错误而引发的异常
4 ArrayTypeMismatchException 当试图在数组中存储类型不正确的元素时引发的异常
5 BadImageFormatException 当 DLL 或可执行程序的文件图像无效时引发的异常
6 CannotUnloadAppDomainException 卸载应用程序域的尝试失败时引发的异常
7 CodeDomSerializerException 当行号信息可用于序列化错误时引发的异常
8 LicenseException 表示当组件不能被授予许可证时引发的异常
9 WarningException 指定按警告(而不是错误)处理的异常
10 ConfigurationException 配置设置中发生错误时引发的异常
11 InstallException 在安装的提交、回滚或卸载阶段发生错误时引发的异常
12 ContextMarshalException 在尝试将对象封送过上下文边界失败时引发的异常
13 DataException 表示使用 ADO.NET 组件发生错误时引发的异常
14 DBConcurrencyException 在更新操作过程中受影响的行数等于零时,由 DataAdapter 所引发的异常
15 SqlException 当 SQL Server 返回警告或错误时引发的异常。无法继承此类
16 InvalidPrinterException 表示当试图用无效的打印机设置来访问打印机时所引发的异常
17 RegistrationException 检测到注册错误时引发的异常
18 FormatException 当参数格式不符合调用的方法的参数规范时引发的异常
19 IndexOutOfRangeException 试图访问索引超出数组界限的数组元素时引发的异常
20 InvalidCastException 因无效类型转换或显式转换引发的异常
21 InvalidOperationException 当方法调用对于对象的当前状态无效时引发的异常
22 InternalBufferOverflowException 内部缓冲区溢出时引发的异常
23 IOException 发生 I/O 错误时引发的异常
24 ManagementException 表示管理异常
25 NotImplementedException 在无法实现请求的方法或操作时引发的异常
26 NotSupportedException 当调用的方法不受支持,或试图读取、查找或写入不支持调用功能的流时引发的异常
27 NullReferenceException 尝试取消引用空对象引用时引发的异常。
28 OutOfMemoryException 没有足够的内存继续执行程序时引发的异常
29 RankException 将维数错误的数组传递给方法时引发的异常
30 AmbiguousMatchException 当绑定到方法的操作导致一个以上的方法匹配绑定判据时引发的异常
31 ReflectionTypeLoadException 当模块中的任何类无法加载时由 Module.GetTypes 方法引发的异常
32 ServerException 当客户端连接无法引发异常的非 .NET 框架应用程序时,为向客户端传达错误而引发的异常
33 PolicyException 当策略禁止代码运行时引发的异常
34 SecurityException 检测到安全性错误时引发的异常
35 XmlSyntaxException 在 XML 语法分析中出现语法错误时引发的异常
36 TimeoutException 当已达到指定的超时时间时引发的异常
37 SynchronizationLockException 在从非同步的代码块中调用同步方法时引发的异常
38 ThreadAbortException 在对 Abort 方法进行调用时引发的异常
39 TypeInitializationException 作为由类初始值设定项引发的异常周围的包装引发的异常
40 TypeLoadException 类型加载失败发生时引发的异常
41 TypeUnloadedException 试图访问已卸载的类时引发的异常
42 UnauthorizedAccessException 当操作系统因 I/O 错误或指定类型的安全错误而拒绝访问时所引发的异常
43 SoapException 当通过 SOAP 调用 XML Web services 方法且出现异常时引发的异常
44 XmlSchemaException 返回关于架构异常的详细信息
45 XmlException 返回有关最后一个异常的详细信息
46 XsltException 由于在处理“可扩展样式表语言”(XSL) 转换时发生错误而引发的异常
47 XPathException 处理 XPath 表达式而发生错误时引发的异常
C#常见异常
最新推荐文章于 2024-03-04 14:11:49 发布