




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
异常处理思政目标:
☞认真修改并测试程序代码,树立新时期下的程序员精神
☞加强学生的动手能力,培养学生实事求是、严谨的学习态度技能要求:
☞熟练掌握程序的异常处理
☞掌握程序调试实践目标:
☞根据所学的示例,能够自己进行程序调试
☞熟练掌握调试方法第8章程序调试异常处理的形式程序调试01PART程序调试的作用程序调试可以发现并调整程序在运行过程中出现的异常,从而使程序进一步得到完善,这是编写程序必须的环节调试中主要用到的命令开始调试、开始执行(不调试)VS下的Debug菜单断点功能断点功能可以让程序中断在需要的地方。添加断点的方法是:先将光标定位到希望加断点的语句,然后按F9键,断点便成功添加,若想取消已添加断点,再按一次F9键即可程序调试用于查看在代码中标记的书签右键单价代码编辑器中的成员名称,然后单击“查看调用层级结构”可在此工具窗口中查看成员的调用层次结构用于查看使用的类之间的层次关系用于查看定义的代码,能够方便快捷查找自定义的代码用于查看出错的代码,能够准确定位代码出错的位置14523书签窗口调用层次结构窗口类视图代码定义窗口错误列表窗口程序调试异常处理的形式02PART异常处理机制异常处理的机制是:先捕捉异常事件,再进行调试修改,让程序能够继续正常运行或者给用户适当的错误提示。导致异常的原因导致异常的原因多种多样,常见的有:文件找不到、文件操作权限不足、网络无法连通、数组越界、算术除以0等。异常处理的目的编程人员对程序运行中出现的错误进行处理的过程就是异常处理。为了增强程序的健壮性,设计程序时,必须考虑到可能发生的异常事件,并进行相应的处理。异常处理的目的是,保证程序在出现错误时不至于崩溃,仍能继续运行。异常的概念异常是指异常事件(exceptionalevent),是应用程序在执行期间发生的错误,以及其他意外的行为。异常处理异常处理异常处理System.Exception类的常用属性成员说明Message描述错误情况的文本Source导致异常的应用程序或对象名TargetSite引发异常的方法的.NET反射对象HelpLink链接到一个帮助文件上,以提供该异常的更多信息StackTrace堆栈上方法调用的信息,它有助于跟踪引发异常的方法InnerException如果异常是在catch块中引发的,它就会包含把代码发送到catch块中的异常对象异常处理异常处理常用的内置异常类从图中可以看出,这些异常类之中,存在两个处于关键节点的异常类:SystemException和ApplicationException,前者通常由.NET运行库引发,后者用于第三方定义异常类,不过该类并不推荐使用,自定义异常类可直接从System.Exception继承。异常处理的形式C#用4个关键字try、
throw、catch
和finally管理异常处理,首先需要使用try预测可能出现异常的语句,然后在catch中捕获异常并对异常进行处理,不管异常发生与否,都会执行finally里面的语句,而throw用于人为抛出异常,把异常返回给程序异常处理关键字try和catch分别用于定义异常和定义异常处理。定义异常就是将可能产生错误的语句放到try语句块中,方便进行监控。定义异常处理是将异常处理的语句放在catch语句块中,以便异常被传递来时处理。使用
try-catch
语句来捕获异常try-catch语句的一般语法格式若位于try子句中的语句产生异常,系统便会在它对应的catch子句中进行查找,如果找到与抛出的、异常类型相同的catch子句,就会执行该子句中的语句;如果没有,则到调用当前方法的方法中继续查找,此过程会循环进行,
直至找到一个匹配的catch子句为止;若一直没有找到,
程序运行时将会产生一个未处理的异常错误。try-catch语句的执行过程异常处理异常处理下面的程序可以捕获除0和数组访问越界两种错误每个catch语句只响应类型相匹配的异常。在某些时候,需要捕获所有类型的异常,此时,使用不带参数(即不包含异常对象声明)的catch语句就可以做到这一点。异常处理下面程序,虽只有一个不带参数catch,但可以捕获程序中产生的所有异常。每个catch语句只响应类型相匹配的异常。在某些时候,需要捕获所有类型的异常,此时,使用不带参数(即不包含异常对象声明)的catch语句就可以做到这一点。01020304throw的一般语法格式为:使用throw语句抛出异常前面的程序捕获的是由C#自动产生的异常,而使用throw可以人为抛出异常。throw抛出的是对象,因此必须创建一个用于抛出的对象。throw异常对象异常处理这里,异常对象必须是System.Exception类型派生的类的实例。异常处理下面的程序演示了如何人为抛出DivideByZeroException异常使用finally语句finally块和try块一起使用时,无论是否有异常发生,执行的都是finally块中的语句,因此,用户可以在finally
语句中执行一些清除资源的操作。在finally块中使用break、continue
或goto等语句,会把抛出的异常接收。异常处理异常
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中历史明朝的对外关系课件-2024-2025学年统编版七年级历史下册
- ewing肉瘤-原始神经外胚层肿瘤的临床护理
- 初中历史辽宋夏金元时期的对外交流课件-2024-2025学年统编版七年级历史下册
- 癌痛的临床护理
- 第二节人的生殖教学设计第一课时
- 2025出口食品代理合同范本
- 《股市投资策略》课件
- 邵东一中一模试卷及答案
- 山西高一数学统考试卷及答案
- 三支一扶真题试卷及答案
- 《关于加强中小学地方课程和校本课程建设与管理的意见》专题培训
- 2025年中考物理押题猜想卷(苏州卷)(全解全析)
- 《半导体行业发展历程》课件
- 新能源开发知识培训课件
- 精神科患者冲动伤人应急演练
- 《煤矿典型事故案例分析》培训课件2025
- 《儿童保健学绪论》课件
- 考研班培训合同范例
- DB45T 2157-2020 食品小作坊生产加工通 用卫生规范
- 游戏公司游戏社区及玩家互动平台建设
- 《电力人工智能自然语言处理模型评价规范》
评论
0/150
提交评论