- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微软教材 visual C# 2017 程序设计语言 第七章
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * try-catch-finally catch 和 finally 一起使用的常见方式:在 try 块中获取并使用资源,在 catch 块中处理异常情况,并在 finally 块中释放资源。 多媒体演示: try-catch-finally 多媒体演示 示例代码 throw throw 语句用于发出在程序执行期间出现反常情况(异常)的信号。引发的异常是一个对象,该对象的类是从 System.Exception 派生的 。 通常 throw 语句与 try-catch 或 try-finally 语句一起使用。当引发异常时,程序查找处理此异常的 catch 语句。也可以用 throw 语句重新引发已捕获的异常。 多媒体演示: throw 多媒体演示 示例代码 System.Exception的常用属性 7.3.3 System.Exception 的常用属性 System.Exception的常用属性 属??? 性 说??? 明 HelpLink 链接到一个帮助文件上,以提供该异常的更多信息 Message 描述错误情况的文本 Source 导致异常的应用程序或对象名 StackTrace 堆栈上方法调用的信息,它有助于跟踪引发异常的方法 TargetSite 引发异常的方法的.NET反射对象 InnerException 如果异常是在catch块中引发的,它就会包含把代码发送到catch块中的异常对象 默认异常处理 7.3.4 默认异常处理 NET运行库会捕获异常。 NET运行库可以把整个程序放在另一个更大的try块中,每个.NET程序都会这么做。这个try块有一个 catch处理程序,它可以捕获任何类型的异常。 嵌套的 try块 7.3.5 嵌套的 try块 在try嵌套的时候,其处理过程有一条准则: 从内到外,如果没有合适的异常处理来接收异常,那么就由.NET来处理这个异常。 用户定义的异常类 7.3.6 用户定义的异常类 假设你正在实现一个方法叫做monthName,这个方法接受一个简单的int类型的参数,并且返回一个对应的月份。比如,monthName(1)返回“January”。问题是:当参数小于1或者参数大于12的时候,方法应该返回什么呢? 学习了异常之后,我们可以想到一个很好的办法,即方法不返回任何东西,而仅仅引发一个异常。虽然.NET Framework类库包含了大量的定义好的异常处理类。但是,现实中会遇到各种各样系统未定义过的错误。此时,就需要我们自己定义一个异常处理类,并在出现这种异常的时候使用throw关键字引发此异常。 多媒体演示:用户定义的异常类 多媒体演示 在 Visual Studio 2005中生成程序 Visual Studio 2005的调试功能 异常处理 小结 实验 习题 第7章 程序的生成、调试和异常处理 7.4 小结 本章重点介绍了如何生成和调试C#程序,包括设置和修改断点,使用调试窗口;还介绍了如何进行异常处理。 小结 在 Visual Studio 2005中生成程序 Visual Studio 2005的调试功能 异常处理 小结 实验 习题 第7章 程序的生成、调试和异常处理 实验 7.5 实验 参照实验手册,并在教师指导下完成实验报告。 在 Visual Studio 2005中生成程序 Visual Studio 2005的调试功能 异常处理 小结 实验 习题 第7章 程序的生成、调试和异常处理 习题 7.6 习题 1. 填空题 (1) 当一个方法执行时出错了,会________。 (2) try块运行后,总是会执行________块中的代码。 (3) 所有的异常类都从________继承。 (4) Convert.ToInt32方法会引发_________,如果输入的参数不能转化为整数。 习题(续) 7.6 习题 判断正误,如果错误,请说明原因。 (1) 当前方法产生的异常总是由当前的方法来处理。 (2) 用户自定义的异常应该从System.Exception类继承。 (3) 当访问数组的索引越界时,会有异常引发。 (4) 如果在try块后没有任何catch块,那么finally块也是可选的。 习题(续) 7.6 习题 编程改错题 (1) 在try语句中,引发一个NullReferenceException异常,捕获其并报告。最终执行输出“Executing finally block.”。 输出: Executing
您可能关注的文档
- 张玉梅2017述职报告.ppt
- 张玉讲师《团队建设与领导力提升训练营》2017-6-13.doc
- 张玉讲师《团队建设提升训练营》2017-11-17.doc
- 张玉讲师《销售技巧提升训练》课程大纲2017-12-24.doc
- 张畈中心小学2017年暑假教师校本培训工作计划.doc
- 张铭2017一级公路串讲.ppt
- 张青目标管理知识体系介绍(2017版).ppt
- 弱电行业公司行政管理制度V2017.doc
- 当代集团-2017年全面绩效考核管理制度.doc
- 当好“管家婆”,做好良心活--2017年暑假班主任培训.ppt
- 2025版产品合作开发协议书.docx
- 2025版产品分销协议书.docx
- 小学科学课程中创新思维能力的培养策略教学研究课题报告[001].docx
- 7 《腹腔镜与开腹胃癌根治术疗效及安全性:临床实践中的对比与优化》教学研究课题报告.docx
- 2025版产品代理补充协议书.docx
- 核心素养导向下高中物理教学评价的多元化评价策略与实践教学研究课题报告.docx
- 航空航天零部件制造2025年航空航天部件制造行业安全生产与职业健康报告[001].docx
- 2025版产品包装设计标志服务合同.docx
- 2025版产品代理协议书模板.docx
- 航空航天零部件制造2025年航空零部件产业技术创新政策实施效果跟踪报告.docx
文档评论(0)