Ch7程序调试与异常处理.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.2.3 finally语句 finally语句常常与try-cacth语句搭配使用,其完整格式: try { 语句块1 //可能引发异常的代码 } cacth (异常对象) //捕获异常类对象 { 语句块2 //实现异常处理 } finally { 语句块3 //无论是否异常,都作最后处理 } 7.2.3 finally语句 【实例7-4】设计一个Windows应用程序,实现用于捕获创建新文件时因该文件已经存在而引发的异常,并且最后无论是否捕获到异常都要关闭文件。 7.2.4 throw语句与抛出异常 前面所捕获到的异常,都是当遇到错误时,系统自己报错,自动通知运行环境异常的发生。但是有时还可以在代码中手动地告知运行环境在什么时候发生了什么异常。C#提供的throw语句可手动抛出一个异常,使用格式如下: throw [异常对象] // 提供有关抛出的异常信息 当省略异常对象时,该语句只能用在catch语句中,用于再次引发异常处理。 当throw语句带有异常对象时,则抛出指定的异常类,并显示异常的相关信息。该异常既可以是预定义的异常类,也可以是自定义的异常类。 7.2.4 throw语句与抛出异常 在同一个 try-catch 语句中可以使用一个以上的特定 catch 子句。这种情况下 catch 子句的顺序很重要,因为会按顺序检查 catch 子句。将先捕获特定程度较高的异常,而不是特定程度较小的异常。 在 catch 块中可以使用 throw 语句再次引发已由 catch 语句捕获的异常。例如: catch (InvalidCastException e) { throw (e); // Rethrowing exception e } 7.2.4 throw语句与抛出异常 如果要再次引发当前由无参数的 catch 子句处理的异常,则使用不带参数的 throw 语句。例如: catch { throw; } 7.2.4 throw语句与抛出异常 【实例7-5】修改实例7-3,自定义一个异常类MyException,封装异常信息“警告!单价或数量不能为负数”,以增强异常检测与处理。 * * 作业 1. 书面作业(见本章教材) 2. 上机实验(见本章教材) * * Class Over Thank you! 清华大学出版社与电子科技大学成都学院联合打造 《C#程序设计经典教程》——四川省精品课程|四川省高等教育质量工程建设项目 Email:yangjian.email@163.com 第七章 程序调试与异常处理 1. 总体要求 了解程序错误的3种类型。 熟练运用Visual Studio .Net 2010的调试器调试程序错误。 解异常和异常处理的概念。 学会使用try-catch-finally及throw语句来捕获和处理异常。 2. 学习重点 调试程序错误的方法。 y-catch-finally结构及其使用方法。 第七章 程序调试与异常处理 主要内容 7.1 程 序 错 误 7.2 程序的异常处理 7.1 程序错误 7.1.1 程序错误分类 7.1.2 调试程序错误 返回 7.1.1 程序错误分类 在编写程序时,我们经常会遇到各种各样的错误,这些错误中有些容易发现和解决,有些则比较隐蔽甚至很难发现。C#程序错误总体上可以归纳为3类:语法错误、逻辑错误和运行时错误。 1.语法错误 语法错误是指不符合C#语法规则的程序错误。例如,变量名的拼写错误、数据类型错误、标点符号的丢失、括号不匹配等。语法错误是3类程序错误中最容易发现也是最容易解决的一类错误,发生在源代码的编写过程中。在Visual Studio .Net 2010中,源代码编辑器能自动识别语法错误,并用红色波浪线标记错误。只要将鼠标停留在带有此标记的代码上,就会显示出其错误信息,同时显示在错误列表窗口中。 7.1.1 程序错误分类 如图7-1所示,语句应该以英文分号结尾,而不是以中文分号结尾。 7.1.1 程序错误分类 其实,语法错误是可以避免的。Visual Studio .Net 2010提供了强大的智能感知技术,要尽量利用该技术辅助书写源程序,不但可提高录入速度,还可以避免语法错误。如图7-2所示,当输入了“Convert.”时,系统会自动显示Convert类的所有成员方法,通过

文档评论(0)

ranfand + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档