第7章节—异常处理.pptVIP

  1. 1、本文档共40页,可阅读全部内容。
  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文档。上传文档
查看更多
第7章节—异常处理

C#语言程序设计 中国地质大学(北京)信息工程学院 第7章 异常处理 异常处理 程序错误分为三类: 语法错误:指不符合C#语法规则的程序代码。编译时VS能够自动指出这类错误,并告知错误的位置和原因。一般通过简单的调试处理即可解决; 逻辑错误:由于人为因素导致的错误(如算法设计错误、输入错误等),编译时不会出错,但结果不对。一般需要重新检查程序的执行流程以及算法是否符合要求来解决。 运行错误:往往是由于在程序执行时遇到了一些非法操作引起的。这类错误在程序编辑和编译时不会被发现,只有在运行时才会发现。程序在运行时发生错误,系统通常会给出一个错误提示信息,然后终止程序的运行。 异常处理 异常:指反常程序事件。 指除用户错误操作之外的、可以预见但无法防范的问题,如:内存不够、文件不存在、网络突然中断等,这些问题正常情况下不发生,但发生时程序会给出提示并中断执行。 “异常处理”的作用就是处理这类事件; “异常处理”的意义 第7章 异常处理 C#的异常类 第7章 异常处理 异常的捕获处理 异常的捕获处理 异常的捕获处理 异常的捕获处理 异常的捕获处理 第7章 异常处理 抛出异常 重发异常 第7章 异常处理 自定义异常 第7章 异常处理 checked和unchecked运算符的用法 checked和unchecked运算符的用法 综合练习 private void button1_Click(object sender, EventArgs e) { try { divop(); //调用函数 } catch (Exception e2) //捕获来自函数重发的异常 { MessageBox.Show(e2.Message, 异常对话框); } } 注意:无参数的throw 语句只能在catch子句中使用。 7.1 异常处理概述 讲解 内容 7.4 抛出和重发异常 7.2 C#的异常类 7.3 异常的捕获处理 7.5 自定义异常 7.6 checked和unchecked运算符 系统提供的异常类也许不能很好地满足我们的需要,此时可以根据需要定义自己的异常类; 自定义的异常类必须继承已有的异常类。 【例7-4】定义和使用用户自定义异常。 首先定义一个student类,该类包含两个私有字段:name和score,分别表示学生姓名和成绩,且name的长度不超过8个字节,score的范围为[0,100];另外还包含一个方法成员setInfo (),用于设置name和score。 然后自定义一个异常类UserException,当对name所赋的值的长度超过8个字节或者对score所赋的值不在[0,100]范围内时都抛出此自定义异常。 class UserException : Exception //定义用户的异常类 { //UserException类的构造函数 public UserException() { } public UserException(string ms):base(ms) { } public UserException(string ms,Exception inner) : base(ms,inner) { } } class student //定义学生类 { private string name; //姓名,长度不超过8个字节 private double score; //成绩,范围为[0,100] public void setInfo(string name, double score) { if (name.Length 8) { throw (new UserException(姓名长度超过了8个字节!)); } if (score 0 || score 100) { throw (new UserException(非法的分数!)); } this.name = name; this.score = score; } } stat

文档评论(0)

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

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

1亿VIP精品文档

相关文档