版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九章 程序的调试 与异常处理,VB.NET程序设计,主讲教师:黄超男 email:,第2页,本章内容:,9.1 程序的错误类型 9.2 程序的调试 9.3 程序的异常处理,第3页,学习目标,程序的错误类型 程序的调试 程序的异常处理,第4页,9.1 程序的错误类型,可以将这些错误分为四类,分别是: 语法错误 编译错误 运行错误 逻辑错误,第5页,9.2 程序的调试,一. VB.NET的调试工具 可以通过【调试】菜单,也可以使用【调试】工具栏。可按下面的步骤打开【调试】工具栏。 1.选择【视图】【工具栏】菜单项。 2.在【工具栏】下的子菜单中选择【调试】命令,【调试】工具栏会出现。,第6页,二
2、.常用的调试对话框 错误列表窗口 输出窗口 【立即】对话框 【监视】对话框 【局部变量】对话框 【Me】对话框,第7页,1.错误列表窗口 在VB.NET中,如果开发人员的应用程序中存在没有清除的语法错误,在调试时,调试程序会查找到这些语法错误,并将错误信息显示在【错误列表】窗口中。 【错误列表】窗口不但显示出错误的类型和说明,还显示出错的文件,以便开发人员快速定位和修改错误。如果要马上修改某一个错误,可以在错误列表中双击它,IDE会自动跳转到代码窗口中,并加亮显示相应的错误内容。 打开“错误列表”窗口:选择【视图】【错误列表】,第8页,2.输出窗口 Visual Basic.NET把【输出】窗
3、口的功能分为两部分:调试和生成。 在【输出】窗口中,从【生成】选项可以查看调试的程序生成的内容,包括成功的个数和失败的个数。如果没有生成失败,表明程序创建成功。 如果开发人员要查看调试输出结果,可从【输出】窗口中的下拉列表框中选择【调试】选项,窗口中就显示出所有已经加载的内容和输出结果。,第9页,3.立即窗口 Visual Basic.NET中,有一个【命令】对话框,在该对话框中可以直接使用VB.NET的各种命令与系统交互。 【命令】对话框有两种不同的模式:命令模式和立即模式。 命令模式主要用来执行命令,立即模式主要用于调试程序。在调试应用程序执行函数或语句等操作时,可使用立即模式查看,并更改
4、变量的值。通过执行【调试】【窗口】【即时】命令,可以以立即模式打开【命令】对话框。,第10页,4.【监视】对话框 【监视】对话框用于显示当前被监视表达式的值。【监视】对话框是最有用的对话框之一,在逐语句运行的情况下,通过该对话框可以看到每执行一条语句时,监视表达式值的变化情况。 【监视】对话框只能在运行模式或中断模式下打开,打开方法是执行【调试】【窗口】【监视】命令。 若要在【监视】对话框中添加被监视表达式,只需单击【监视】对话框名称列最下面一行单元格,在其中输入要监视的表达式即可。,第11页,5.局部变量对话框 【局部变量】对话框可显示当前过程中所有局部变量的值。当程序从一个过程执行到另一个
5、过程时,【局部变量】对话框的内容也会随之改变。该对话框只显示当前所执行过程中局部变量的值。 要打开【局部变量】对话框,可执行【调试】【窗口】【局部变量】命令。 6.【Me】对话框 【Me】对话框用于显示在窗体类中定义的变量和对象的当前值。,第12页,三.调试方法 1.设置程序断点 断点是应用程序暂时停止执行的位置,也是让应用程序进入中断模式的地方。 在程序设计中,可以在中断模式和设计模式下设置和删除断点。在调试程序时,按照程序的功能,可在怀疑有错误的语句处设置断点,这样有利于发挥测试程序的功能和发现程序的逻辑错误。 设置断点的方法: 1)在代码窗口中,单击要设置断点的那一行代码,然后按【F9】
6、键。 2)在代码窗口中,在要设置断点的那一行代码行上,单击鼠标右键并选择【插入断点】命令。 3)在代码窗口中,在要设置断点的那一行代码行的左边界上的竖条上单击。,第13页,2.跟踪程序执行 当程序出错的具体位置不易确定,只能够猜测到在某个范围内可能存在问题时,需要在此范围内追踪程序的执行结果,逐条地执行语句。这种运行方式称为”跟踪”。 VB.NET提供的跟踪方式有: 逐语句(Step Into):逐语句执行方式为一次执行一条语句,也叫单步执行。每执行一条语句之后,开发人员可以使用【即时】窗口、【局部变量】窗口或【监视】窗口查看语句执行的效果。 逐过程(Step Over):编写复杂的应用程序时
7、,应用程序的一个过程通常会调用另一个过程或函数,有时候,并不想了解调用过程的执行细节,而只想关注当前过程的执行情况,可以使用【逐过程】命令。 跳出(Step Out):【跳出】命令连续执行当前过程剩余部分的语句,并在调用该过程的下一行处中断执行。,第14页,9.3 程序的异常处理,一. 非结构化的异常处理 非结构化异常处理通过Err对象和On Error,Resume语句来实现。 1. Err对象 在Visual Basic中,产生的异常信息都会反映在一个对象中,这个对象就是Err。通过这个对象就可以获取异常的所有信息,如异常码、异常的信息描述等。 Err对象是一个具有全局范围的固有对象,用户
8、不必在程序中重新定义它。 Err对象最常用的属性是Description属性和Number属性。 Description属性表示异常的信息,Number属性表示异常码,它是132767之间的整数。,第15页,2. On Error语句 On Error语句放在代码块的开始处,它将处理在该块内发生的任何错误。如果在执行On Error语句后过程中引发了异常,程序流程将跳转到On Error语句中指定的位置。 常用的语句形式: 1)On Error GoTo Line 作用:如果发生运行时错误,则将流程跳转到该Line参数中指定的行号和行标签,并激活错误处理程序。 说明:指定行必须与On Erro
9、r GoTo Line语句位于同一过程中。 2)On Error Resume Next 作用:若当前行有错,程序将继续执行代码的下一行,而忽略当前的异常。,第16页,二.结构化异常处理 TryCatchFinally控制结构是结构化异常处理的基本结构。它测试代码片段,筛选执行过程中产生的异常,根据产生的异常类型做出不同的响应。,语法格式: Try tryStatements Catchexception As typeWhen expression catchStatements Exit Try Finally finallyStatements End Try,第17页,说明: tryS
10、tatements:可能发生错误的语句。 Catch:可以有多个catch块,如果在处理try块期间发生异常,则按文本顺序检查每个catch语句,以确定它是否处理该异常。 Exception:表示已引发异常。任何变量名称。其初始值是引发的错误的值。它将与catch一同使用以指定所捕获的错误。 Type:指定类筛选器的类型,如果Exception的值是type指定的类型的值,则该标示符将绑定到异常对象。 When expression:当expression结果为true时,捕获异常。 catchStatements:处理相关的try块中所发生错误的语句。 Exit Try:中断trycatchfinally结构。如果有finally块,则转到finally块继续执行。 Finally:在执行离开try语句的任何部分时执行。 finally
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高级教师职称面试讲课答辩题目及答案(分五类共60题)
- 2026年南通师范高等专科学校单招职业适应性考试题库附答案详解
- 2025年乌海职业技术学院单招职业技能考试题库附参考答案详解培优b卷
- 培训机构服务质量保证措施
- 公路培训考试试题及答案
- 2025年监测监控考试试题及答案
- 《计算机组成原理》本科全套教学课件
- 大学教学年度工作总结
- 刺激性气体中毒诊治共识解读2026
- 2025年建筑行业数字化转型案例分享会纪要
- 浙江丽水裕坤置业有限公司招聘笔试题库2026
- 2026首钢工学院 首钢技师学院第二批招聘12人备考题库附答案详解(轻巧夺冠)
- 掼蛋俱乐部运营方案
- (重庆三诊)重庆市2026届高三第三次联合诊断检测 语文试卷康德卷(含答案及解析)
- GB/T 45953-2025供应链安全管理体系规范
- 2025年浙江省高中自主招生考试数学试卷试题(含答案详解)
- 带答案全国寄生虫病防治技能试题库-
- 部编版小学六年级道德与法治下册第3课《学会反思》课件
- 材料力学(全套课件)
- 不动产登记资料查询申请书(空白)
- 2011海南定额分章说明
评论
0/150
提交评论