




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Visual C# .Net 程序设计 *1电子科大成都学院精品课程Visual C# .Net程序设计 第九章 程序调试与异常处理 l9.1 程序错误 l9.2 程序的异常处理 Date2电子科大成都学院精品课程Visual C# .Net程序设计 9.1 程序错误 l一、程序错误分类 l二、调试错误的三种方法 Date3电子科大成都学院精品课程Visual C# .Net程序设计 一、程序错误分类 l1. 语法错误 它是最容易被发现和解决的一类错误,是指在 程序设计过程中,出现不符合C#语法规则的程 序代码。 这类错误在代码编写期间,VS编辑器都能够自 动指出,并会用波浪线在错误代码的下方标记 出来。 Date4电子科大成都学院精品课程Visual C# .Net程序设计 l2. 运行时错误 是指在应用程序试图执行系统无法执行的操作 时产生的错误,即我们通常所说的系统报错。 这类错误编译器是无法自动检查出来,通常需 要我们对输入的代码进行手动检查并更正。 l3. 逻辑错误 常常是由于人为因素,如推理和设计算法本身 的错误造成的。这类错误是最不易发现,同时 也是最难解决的 。 这类错误编译器是无法检查,只有通过开发人 员仔细认真的态度和不懈努力才能解决。 Date5电子科大成都学院精品课程Visual C# .Net程序设计 二、调试错误的三种方法 l1. 调试菜单及工具栏 启动调试 全部中断 停止调试 逐语句 逐过程 跳出 断点 Date6电子科大成都学院精品课程Visual C# .Net程序设计 2.单步执行 l每执行一行代码,程序就暂停执行,直到再 次执行。这样可以通过查看各变量、对象等 的值来判断该行代码是否出错。 F10和F11 lF10:只执行调用函数的代码,不会执行函 数本身的代码。 lF11:可查看函数本身代码是否出错 l跳出:退出函数体 l演示:实例 Date7电子科大成都学院精品课程Visual C# .Net程序设计 3.设置断点 l断点,是一种信号,通知调试器应该在某处 中断应用程序并暂停执行。 l该方法可以让程序一直执行,直到遇到断点 ,然后开始调试。这大大加快调试过程。 设置方法一: 单击右键 设置方法二: 单击当前行 设置方法三: 按F9键 Date8电子科大成都学院精品课程Visual C# .Net程序设计 4.人工寻找逻辑错误 l添加注释:注释掉可能出错的代码行 l添加语句或控件:适当地添加输出语句或类 似标签的控件,可获取更多辅助信息。 l示例:见教材 返回返回 Date9电子科大成都学院精品课程Visual C# .Net程序设计 9.2 程序的异常处理 l一、异常处理概念 l二、Try-Catch语句 l三、Finally语句 l四、Throw语句 Date10电子科大成都学院精品课程Visual C# .Net程序设计 一、异常处理概念 l异常指影响程序正常执行的事件 。如内存 不够、磁盘出错、用户非法输入等。 l异常处理是指对异常事件的处理方法,它是 一种处理机制。异常出现后若得以妥善处理, 则不会导致程序终止执行。 Date11电子科大成都学院精品课程Visual C# .Net程序设计 l异常具有以下特点: l各种类型的异常最终都是由 System.Exception 派生而来。 l在可能引发异常的语句周围使用 try 块。 l一旦 try 块中发生异常,控制流将跳转到第 一个关联的异常处理程序(无论该处理程序 存在于调用堆栈中的什么位置)。在 C# 中 ,catch 关键字用于定义异常处理程序。 l如果给定异常没有异常处理程序,则程序将 停止执行,并显示一条错误消息。 l除非您可以处理某个异常并使应用程序处于 已知状态,否则请不要捕捉该异常。如果捕 捉 System.Exception,请在 catch 块的末 尾使用 throw 关键字再次引发该异常。 Date12电子科大成都学院精品课程Visual C# .Net程序设计 l异常具有以下特点: l如果 catch 块定义了一个异常变量,则可以 用它获取有关所发生异常类型的更多信息。 l程序可以使用 throw 关键字显式地引发异 常。 l异常对象包含有关错误的详细信息,比如调 用堆栈的状态以及有关错误的文本说明。 l即使发生异常也会执行 finally 块中的代码 。使用 finally 块释放资源,例如,关闭在 try 块中打开的任何流或文件。 Date13电子科大成都学院精品课程Visual C# .Net程序设计 二、Try-Catch语法格式 Try / 可能引发异常的代码块; Cacth 异常对象 / 捕获异常类对象 / 如果上面代码发生异常则可在此编写相应 的异常处理代码 Date14电子科大成都学院精品课程Visual C# .Net程序设计 l公共语言运行库预定义的系统异常类。 异常类说明 AccessViolationException在试图读写受保护内存时引发的异常 ApplicationException发生非致命应用程序错误时引发的异常 ArithmeticException因算术运算、类型转换或转换操作时引发的异常 DivideByZeroException试图用零除整数值或十进制数值时引发的异常 FieldAccessException试图非法访问类中私有字段或受保护字段时引发的异常 IndexOutofRangeException试图访问索引超出数组界限的数值时引发的异常 InvalidCastException因无效类型转换或显示转换引发的异常 NotSupportedException当调用的方法不受支持时引发的异常 NullReferenceException尝试取消引用空对象时引发的异常 OutOfMemoryExcepiton没有足够的内存继续执行应用程序时引发的异常 OverFlowException在选中的上下文所执行操作导致溢出时引发的异常 Date15电子科大成都学院精品课程Visual C# .Net程序设计 三、Finally语句 l有些特殊的事件,如文件的关闭、类对象的 析构等,不论是否捕捉到异常,都必须执行 的一段代码。该代码行就用Finally括起来。 l常构成Try-Catch-Finally搭配。 l示例 Date16电子科大成都学院精品课程Visual C# .Net程序设计 四、hrow语句 lThrow语句用于手动地抛出一个异常。即程 序员而不是系统告诉CLR什么时候发生异常 及发生什么样的异常。 l语法格式:Throw异常对象 返回返回 Date17电子科大成都学院精品课程Visual C# .Net程序设计 本章要点 lC#程序错误可分为三类:语法错误、运行时 错误、逻辑错误。 l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖南邵阳城步县事业单位选调28人模拟试卷及答案详解(夺冠系列)
- 拓店佣金合同模板7篇
- 2025湖南邵阳学院招聘22人模拟试卷及一套答案详解
- 2025北京建筑大学附属中学第二批招聘教师3人模拟试卷及答案详解(典优)
- 2025年中共南平市委党校紧缺急需专业教师招聘模拟试卷含答案详解
- 2025年4月浙江嘉兴市海宁市中心医院(浙江省人民医院海宁医院)招聘高层次急需卫技人员4人模拟试卷及答案详解(新)
- 2025广东东莞市寮步镇人民政府招聘网格管理员10人模拟试卷完整参考答案详解
- 2025福建农信春季招聘考试服务热线模拟试卷及答案详解(考点梳理)
- 班组安全教育培训课题课件
- 2025年甘肃省卫生健康委系统招聘工作人员网上缴费考前自测高频考点模拟试题及答案详解参考
- 规模灵活资源广域接入的新型配电系统分层分群架构与规划技术研究
- WiFi6基础知识培训
- 2025年恒丰银行烟台分行招聘笔试参考题库含答案解析
- 中外建筑史课件
- 2024年度商业保理合同:保理公司与出口商之间的商业保理协议3篇
- 宣传网络安全文明上网
- 泡沫混凝土路基填筑施工方案
- 青岛 二年级 数学 上册 第4单元《8的乘法口诀》教学课件
- 大学化学第04章-能源化学基础课件
- 广东省东莞市五校2024-2025学年高一上学期第一次联考数学试题(无答案)
- PVC-地面中水泥基自流平找平层的施工作业指导书
评论
0/150
提交评论