- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 结构化异常处理
窗内网,免费看视频,轻松学编程 第7章 结构化的异常处理 程序员在编写程序时,不仅要关心程序应达到的目的,也应该考虑到可能发生的各类不可预期的事件。例如,用户错误的输入、内存不够、磁盘出错、网络资源不可用或者数据库无法使用等等。通常这些问题的解决方法是在程序中使用异常进行处理。C#为处理程序执行期间可能出现的异常情况提供了内置支持,这些异常将由正常控制流之外的代码处理。C#中由try、throw、catch和finally关键字实现异常处理,而且提供了一个处理系统级和应用程序级错误状态的结构化的、统一的和类型安全的方法。此外,除了C#中提供的异常类型,C#还支持自定义的异常类型。 掌握如何抛出和捕获异常 掌握内部异常类 理解如何抛出预定义异常 掌握System.Exception类的成员 掌握如何创建和使用用户自定义的异常类 异常是程序执行时遇到的任何错误情况或意外行为。例如,代码或调用的代码(共享库)中的错误,操作系统资源不可用,通用语言运行时遇到意外情况(无法验证代码)等。 C#的异常由try语句处理,发生异常时系统将有哪些信誉好的足球投注网站可以处理该异常最近的catch子句,而这由异常运行时的类型来确定。 运行时使用基于异常对象和受保护代码块的异常处理模型。发生异常时,创建一个Exception对象来表示该异常。 7.1 结构化异常处理的基本知识 NET Framework提供了大量处理异常的预定义基类对象。将可能引发异常的代码段放在try块中,而将处理异常的代码放在catch块中。catch块是一系列以关键字catch开头的语句,语句后跟异常类型和要执行的操作。finally块包含代码清理资源或执行要在try块或catch块末尾执行的其他操作。无论是否产生异常,都会执行finally块,因为finally块包含了应总是执行的清理代码。finally块是可选的。如果不需要清理代码,就不需要包含此块。 7.1.1 抛出和捕获异常 抛出和捕获异常是由try/catch块来完成的,它是C#异常处理的主要机制。try/catch块的基本语法如下所示: try { //有可能产生异常的代码 } catch(Exception e) { //对异常进行处理的代码 } finally { //最终将执行的代码 } 7.1.1 抛出和捕获异常 在上述基本语法中,catch块可以指定要捕捉的异常类型。这个类型称为“异常筛选器”,它必须是Exception类型,或者必须从此类型派生。应用程序定义的异常应当从ApplicationException派生。另外,具有不同异常筛选器的多个catch块可以串联在一起。多个catch块的计算顺序是从顶部到底部,但是,对于所引发的每个异常,都只执行一个catch块。也就是与所引发异常的准确类型或其基类最为匹配的第一个catch块将被执行。如果在try块中程序流检测一个错误,程序流执行完相应的catch块后会执行finally块。如果没有任何异常仍会执行finally块。 7.1.1 抛出和捕获异常 如果检测到一个错误,代码就执行一定的操作,称为“抛出一个异常”。换句话说,它实例化一个异常对象,并抛出这个异常。代码如下所示: throw new IndexOutOfRangeException (); 7.1.1 抛出和捕获异常 在C#中,当出现某个异常错误条件时,就会创建一个异常对象。这个对象包含有助于跟踪问题的信息。在.NET框架中,异常是从Exception类继承的对象。异常从发生问题的代码区域引发,然后沿堆栈向上传递,直到应用程序处理它或程序终止。Microsoft在.NET Framework中提供了大量的异常类。下图7-1所示的类结构图显示了其中的一些类,给出了大致的模式。 7.2 异常类 图7-1 异常基类结构图 7.2 异常类 这个图中的所有类都在System命名空间中,但IOException和派生于IOException的类除外,它们在System.IO命名空间中,这个命名空间处理文件数据的读写。一般情况下,异常没有特定的命名空间,异常类应放在生成异常的类所在的命名空间中,因此与IO相关的异常就在System.IO命名空间中。许多基类命名空间中都有异常类。 7.2 异常类 在C#中,发生异常时,异常沿堆栈向上传递,每个catch块都有机会处理它,catch语句的顺序很重要。将针对特定异常的catch块放在常规异常catch块的前面,否则编译器可能会发出错误。确定正
您可能关注的文档
最近下载
- 法奥机器人 FR5用户手册V3.3.2.pdf VIP
- 2025-2026学年初中地方、校本课程川教版可爱的四川教学设计合集.docx
- 湖南省武冈市2025届高考化学一模试卷含解析.doc VIP
- 解读《GB_T 44304 - 2024精细陶瓷室温断裂阻力试验方法 压痕(IF)法》.docx VIP
- 小学数学新西师版二年级上册3.7 尺子乐园教学课件(2025秋).pptx VIP
- 100t履带吊安装及拆除施工方案.docx VIP
- 2025年租房合同范本(可直接打印)与租房合同范本(标准版) .pdf VIP
- 物流园区安全管理手册.doc VIP
- 商务英语词汇大全必威体育精装版完整版本.pdf VIP
- 毕业论文-基于Arduino的智能避障小车设计与实现.doc VIP
文档评论(0)