C#异常层次结构(20210929184237)_第1页
C#异常层次结构(20210929184237)_第2页
C#异常层次结构(20210929184237)_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C#异常层次结构有两种类型的异常:由执行程序生成的异常和由公共语言运行库生成的异常。另外, 还有由应用程序或运行库引发的异常的层次结构。Exception 是异常的基类。假设干异常类直接从 Exception 继承,其中包括 ApplicationException 和 SystemException 。这两个类构成几乎所有运行库异常的根底。大多数直接从 Exception 派生的异常不为 Exception 类添加任何功能。例如,InvalidCastException 类层次结构如下所示:Object ? Exception? SystemException ? InvalidCastEx

2、ception错误发生时,运行库引发 SystemException 的适当派生类。这些错误是失败的运行 库检查如数组超出界限错误导致的,它们可在任何方法的执行过程中发生。如果设计 创立新异常的应用程序,应从 Exception 类派生那些异常。不建议捕捉 SystemException ,在应用程序中引发 SystemException 也不是好的编程做法。最严重的异常,即那些由运行库引发或处于不可恢复的条件的异常,包括ExecutionEngineException 、 StackOverflowException 和 OutOfMemoryException 。交互操作异常从 Syste

3、mException 派生并由 ExternalException 进一步扩展。例如, COMException 是 COM Interop 操作过程中引发的异常,它从 ExternalException 派生。 Win32Exception 和 SEHException 也从 ExternalException 派生。运行库异常层次结构运行库有一组从 SystemException 派生的基异常,它在执行各指令时引发这些异常。 下表按层次结构列出了运行库提供的标准异常以及派生类的创立条件。异常类型 基类型 说明 例如ExceptionObject所有异常的基类。无使用此异常的派生类。Syst

4、emExceptionException所有运行时生成的错误的基类。无(使用此异常的派生类)。IndexOutOfRangeExceptionSystemException仅当错误地对数组进行索引时,才由运行库引发。在数组的有效范围外对数组进行索引: arrarr.Length+1NullReferenceExceptionSystemException仅当引用空对象时,才由运行库引发。object o = null;o.ToString();AccessViolationExceptionSystemException仅在访问无效内存时由运行库引发。当与非托管代码或不平安的托管代码互操作时或

5、者使用无效指针时发生 InvalidOperationExceptionSystemException当处于无效状态时,由方法引发。从根底集合移除 Item 后调用 Enumerator.GetNext() 。ArgumentExceptionSystemException所有参数异常的基类。无(使用此异常的派生类)。ArgumentNullExceptionArgumentException由不允许参数为空的方法引发String s = null;ArgumentOutOfRangeExceptionArgumentException 由验证参数是否位于给定范围内的方法引发。String s =s.Chars9;ExternalExceptionSystemException在运行库的外部环境中发生或针对这类环境的异常的基类。 无使用此异常的派生类。ComExceptionExternalException封装COM HRESULT信息的异常。在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论