网站大量收购闲置独家精品文档,联系QQ:2885784924

第8章 异常处理.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章异常处理ppt课件

第8章 异常处理 本章要点: ? 异常处理的基本概念 ? try…catch…finally结构 ? C#中的异常类 ? 用户自定义异常 8.1 循序渐进学理论 8.1.1 异常处理概念 【例8-1】 编写一个除法计算器,计算器的设计界面如图8-1所示。程序运行时,输入被除数和除数后按【计算】按钮将会把运算结果显示在【结果】后面的文本框中,如图8-2所示。要求程序能够识别出除数为零的错误并给出提示信息,如图8-3所示。 8.1.2 捕获处理异常 [格式]: try { 语句组1; //程序中需要执行的语句 } catch(异常1) //发生了“异常1”指定的异常 { 语句组2; //执行该异常处理 } …… catch(异常n) //发生了“异常n”指定的异常 { 语句组n; //执行该异常处理 } finally //必做的自理 { 语句组n+1; //该语句块一定被执行,无论是否产生异常 } 【例8-2】 对例8-1进行改造使之能够捕获到除数为零的异常(只对整数产生,对于实数结果为无穷大)、输入数据格式不正确的异常以及其它所有异常。图8-4~图8-6是发生了几种异常情况时的程序运行界面。 8.1.3 C#的异常类 在C#中,所有的异常都派生于Exception类,该类包含在公共语言运行库中。该类有两个重要的属性,如下: (1)Message属性:该属性是只读属性,包含对异常原因的描述信息。 (2)InnerException属性:该属性也是一个只读属性,它包含这个异常的“内部异常”。 8.1.4 抛出和重发异常 1.抛出异常 用户自己产生并抛出异常需要使用throw语句。 [格式1]:throw [格式2]:throw 异常对象 【例8-3】 在“除法计算器”中对输入的除数进行判断,如果除数为0则主动抛出“除数为零”的异常。除数为“0”时的程序运行界面如图8-7所示。 2.重发异常 当发生异常后,可以在catch语句中对异常进行捕获,然后进行处理,处理过程还可以通过throw语句把异常重发给调用者。 【例8-4】 用函数实现除法计算器的功能。如果发现除数为零,则把结果默认为整数的最大值。同时程序显示出“执行结果不可靠”的提示信息。程序的运行界面如图8-8所示。 【例8-5】 对例8-4进行改进,使主调方法中能够显示出在被调方法中发生的异常是何种异常,发生异常时的程序运行界面如图8-9所示。 8.1.5 checked和unchecked运算符的用法 C#提供了checked和unchecked运算符,指定是否检查整 型算术运算的溢出。 checked运算符的格式如下。 [格式]:checked(整型算术表达式) unchecked运算符的格式如下。 [格式]:unchecked(整型算术表达式) 注意:不但算术运算会产生溢出,整型数据类型之间的显式转换也会导致溢出。例如,将整数1 000 000从int转换为short会导致溢出,因为short类型的数值可以保存的最大值是32 767。 【例8-6】 编写一个整型加法计算器,如果运算结果超出了整数的表示范围则发生溢出异常并对之进行捕获。程序的设计界面如图8-10所示,程序的运行界面如图8-11所示。 8.2 典型实例练能力 8.2.1 典型实例一:异常处理的综合演示【实例题目】 编写一个控制台程序,程序名为divpro,程序的功能是求两个整数的商。要求程序运行情况如下: (1)如果以命令行“divpro 10 5”的形式运行,将出现正常结果,显示“10 除 5的商为:2”。 (2)如果以命令行“divpro”、“divpro 10” 的形式运行,将出现提示信息:“输入参数不够”。 (3)如果以命令行“divpro abcd”或“divpro 10 asdhjk”的形式运行,将出现提示信息:“输入字符串的格式不正确”。 (4)如果以命令行“divpro 10 0”的形式运行,将出现提示信息:“试图除以零”。 (5)如果以命令行“divpro 327689876587 2”或“divpro 2 327689876587”的形式运行,将出现提示信息:“值超出了整数的表示范围”。 8.3 上机练习重应用 8.3.1 上机练习一:数组元素下标越界时的异常处理 【练习题目】 编写一个程序,用来求10个学生某门课的平均成绩。要求程序能够捕获下标越界异常。 * * 图8-1 程序设计界面 图8-2 程序正常运行界面 图8-3 除数为零的情况

文档评论(0)

118zhuanqian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档