C# 中的异常列表

本文是关于预定义 C# 的 Exception 类的异常。

System Exception 类是 C# 编程语言中预定义的异常类,可用于编程。选择代码中可能出现的异常并将其插入到适当的 catch 块中。

本章将提供所有系统异常类的完整列表。你可以使用这个异常来编写既没有错误又非常有弹性的代码。

C# 中的系统异常

  1. AccessViolationException – 每当尝试读取或写入受保护的内存时都会生成异常。
  2. AppDomainUnloadedException – 只要尚未加载访问应用程序域的尝试,就会生成异常。
  3. ApplicationException – 如果应用程序错误不是致命的,则会抛出异常。
  4. ArgumentException – 当提供给方法的参数之一无效时,向用户显示错误消息。
  5. ArgumentNullException – 只要不接受空引用作为有效参数的过程接收到空值的引用(在 Visual Basic 中称为 Nothing),就会生成异常。
  6. ArgumentOutOfRangeException – 当参数的值超出已调用方法建立的允许值范围时,将引发异常。
  7. ArithmeticException – 如果计算、强制转换或转换操作导致错误,则抛出异常。
  8. ArrayTypeMismatchException – 当试图在数组中保存不正确类型的元素时,会发出异常。
  9. BadImageFormatException – 当动态链接库 (DLL) 或可执行程序的文件图像损坏时,会引发异常。
    10.CannotUnloadAppDomainException – 如果卸载应用程序域的努力失败,则抛出异常。
  10. ContextMarshalException – 如果无法在上下文边界上封送对象,则会引发异常。
  11. DataMisalignedException – 如果从不是数据大小倍数的地址读取或写入数据单元,则会引发异常。当数据大小不是地址的倍数时,会抛出异常。
  12. DivideByZeroException – 每当尝试将十进制数或整数值除以零时都会产生异常。
  13. DllNotFoundException – 如果无法找到在 DLL 导入中指定的动态链接库 (DLL),则例外。
  14. DuplicateWaitObjectException – 如果数组包含同一对象的多个实例,则会引发异常。
  15. EntryPointNotFoundException – 如果由于缺少入口方法导致类被加载而尝试加载类失败,则会产生异常。
  16. ExecutionEngineException – 只要公共语言运行时的执行引擎遇到系统本地错误,就会引发异常。
  17. FieldAccessException – 每当对包含在类中的私有或受保护字段进行无效尝试时,都会生成异常。
  18. FormatException – 当参数的结构与方法调用提供的参数不匹配时,会发生这种情况。
  19. IndexOutOfRangeException – 如果尝试访问索引超出数组限制的数组元素,则会发出异常。此类不能将其继承传递给其他类。
  20. InsufficientMemoryException – 如果检查足够的、可访问的内存返回不正确的结果,则会触发异常。此类不能将其继承传递给其他类。
  21. InvalidCastException – 如果转换过程出错或进行了显式转换,将触发异常。
  22. InvalidOperationException – 每当由于对象的当前状态而无法执行方法调用时,就会引发异常。
  23. InvalidProgramException – 如果程序具有不正确的 Microsoft 中间语言 (MSIL) 或元数据,则会引发异常。在大多数情况下,这表明用于构建程序的编译器存在问题。
  24. MemberAccessException – 只要尝试访问类成员不成功,就会引发异常。
  25. MethodAccessException – 每当对类中的私有或受保护方法进行无效尝试时,就会发生异常。
  26. MissingFieldException – 每当有人试图动态访问数据库中不存在的字段时,就会产生异常。
  27. MissingMemberException – 如果尝试动态访问不存在的类成员,则会发出异常。
  28. MissingMethodException – 如果有人试图动态访问程序中不存在的方法,则例外。
  29. MulticastNotSupportedException – 如果尝试基于类型而不是类型的两个委托的组合,则会引发异常。
  30. NotFiniteNumberException – 任何正无穷或负无穷或不存在的值都会引发异常 (NaN)。
  31. NotImplementedException – 如果请求的方法或动作由于未实现而无法执行,则会引发异常。
  32. NotSupportedException – 当已调用的方法不支持已调用的功能或尝试读取、查找或写入不支持已调用功能的流时引发异常调用。
  33. NullReferenceException – 如果对先前已配置为 null 的对象引用尝试取消引用操作,则会引发错误。
  34. ObjectDisposedException – 如果对已被释放的对象执行操作,则会产生异常。
  35. OperationCanceledException – 如果线程停止执行先前执行的活动,则在线程中引发异常。
  36. OutOfMemoryException – 如果没有足够的内存来继续执行程序,则会引发异常。也称为内存异常。
  37. OverflowException – 如果涉及强制转换、转换或算术的操作在检查上下文中执行时导致溢出,则会引发异常。
  38. PlatformNotSupportedException – 如果试图在不支持的平台上执行某个功能,则会引发异常。
  39. RankException – 如果方法接收到的参数包含不正确的维数,则会引发异常。
  40. StackOverflowException – 如果由于嵌套方法调用次数过多而导致执行堆栈溢出,则会引发异常。
  41. SystemException – 此函数指定命名空间内建立的任何异常的基类。
  42. TimeoutException – 如果过程或动作允许的时间量已用完,则发出异常。
  43. TypeInitializationException – 抛出的异常是类初始化器在包装和抛出时抛出的异常。
  44. TypeLoadException – 如果类型加载出现问题,则引发异常。
  45. TypeUnloadedException – 如果试图访问尚未加载的类,则会产生异常。
  46. UnauthorizedAccessException – 如果操作系统由于输入或输出 (I/O) 问题或特定类型的安全故障而拒绝提供访问,则会引发异常。

C# 中的 System.Data 异常

  1. ConstraintException – 此对象表示在尝试违反约束的操作时引发的异常。
  2. DataException – 如果使用 ADO.NET 组件产生错误,则会传递异常。
  3. DBConcurrencyException – 如果受影响的行数为零,则在执行插入、更新或删除操作时发出异常。
  4. DeletedRowInaccessibleException – 用于表示尝试对已删除的对象执行操作时引发的异常。
  5. DuplicateNameException – 表示如果在链接对象上执行添加操作并且发现数据库对象名称在使用中重复时产生的异常。
  6. EvaluateException – 当无法进行属性评估时引发异常的表示。
  7. InRowChangingEventException – 表示从事件内部调用方法时显示的错误消息。
  8. InvalidConstraintException – 如果尝试访问或构造一个由此类表示的不正确的关系,则会产生异常。
  9. InvalidExpressionException – 此对象表示当 DataColumn 包含不正确的表达式时尝试将 DataColumn 添加到 DataColumnCollection 时产生的错误。
  10. MissingPrimaryKeyException – 当试图访问表中没有主键的行时,会抛出此异常。
  11. NoNullAllowedException – 如果你尝试将空值插入到不应出现的属性设置为 false 的列中,则会发出异常。
  12. OperationAbortedException – 如果用户取消当前正在运行的操作,则会产生此异常。
  13. ReadOnlyException – 只要尝试修改限制为只读访问的列的值,就会产生异常。
  14. RowNotInTableException – 当你尝试对未包含在 a 中的 a 执行操作时引发异常。表示抛出异常时显示的错误消息。
  15. StrongTypingException – 每当用户尝试访问 DBNull 变量时,高度类型化的系统都会生成异常。
  16. SyntaxErrorException – 当该对象表示 a 的属性有语法错误时抛出异常。
  17. TypedDataSetGeneratorException – 如果在生成强类型时出现名称冲突,则会引发异常。
  18. VersionNotFoundException – 如果尝试返回已从存在中删除的版本,则会引发异常。

C# 中的 System.IO 异常

  1. DirectoryNotFoundException – 如果无法找到文件或目录的一部分,则会生成异常。
  2. DriveNotFoundException – 如果试图访问当前不可用的磁盘或共享,则会引发异常。
  3. EndOfStreamException – 如果尝试读取超出流末尾写入的数据,则会产生异常。
  4. FileLoadException – 如果托管程序集已定位但无法加载,则会发出此异常。
  5. FileNotFoundException – 如果尝试读取或写入磁盘上不存在的文件失败,则会引发异常。
  6. IOException – 如果 I/O 出现问题,则引发异常。
  7. PathTooLongException – 如果路径名或文件名大于系统预定义的最大长度,则会发出错误。

C# 中的 System.Net 异常

  1. HttpListenerException – 如果在处理 HTTP 请求时出现问题,则抛出异常。
  2. ProtocolViolationException – 如果网络协议由于错误而被不当使用,则会引发异常。
  3. WebException – 如果尝试通过可插入协议联系网络时出现问题,则会发出异常。

C# 中的 System.Net.Mail 异常

  1. SmtpException – 识别导致当它不能动作时抛出异常的错误条件。
  2. SmtpFailedRecipientException – 此对象表示当无法完成向某个接收者发送消息或执行操作时发出的异常。
  3. SmtpFailedRecipientsException – 如果使用 a 发送电子邮件并且无法发送给所有收件人,则会生成异常。

C# 中的 System.Net.NetworkInformation 异常

  1. NetworkInformationException – 如果获取网络信息失败,则引发异常。
  2. PingException – 每当一个方法(或方法)调用另一个产生异常的方法(或方法)时,就会产生异常。

C# 中的 System.Resources 异常

  1. MissingManifestResourceException – 如果附属程序集没有足够的资源用于中立文化,则会发生异常,因为没有足够的空间容纳卫星程序集。
  2. MissingSatelliteAssemblyException – 当中立文化的卫星装配不存在时,此规则不适用,这是唯一适合打破它的时间。