- 2
- 0
- 约8.74千字
- 约 45页
- 2018-01-03 发布于湖北
- 举报
课件第9章 程序调试
9.3.1 设置错误捕获 (3) 3. On Error GoTo 0 语句 取消错误捕获。对当前过程中的错误捕获由On Error语句启动,当退出本过程时,自动取消错误捕获。可以使用 On Error GoTo 0 语句取消对当前过程中的错误捕获。 返回首页 返回本节 9.3.2 编写错误处理程序(1) 错误处理程序含有实际处理错误的代码,与On Error语句在同一个过程中。它不是一个过程,而是一个程序段,因此也常称之为错误处理例程、错误处理代码。 编写错误处理程序的第一步是添加标号,标号标志着错误处理程序的开始,标号后面必须带有冒号。这个标号也就是在On Error GoTo语句中使用到的标号。 通常,将错误处理程序放置在过程的末端,并在标号所在行的上一行中增加语句Exit Sub或Exit Function等,以便在没有错误发生时,避免执行错误处理代码。 9.3.2 编写错误处理程序(2) 例如,一个含有错误处理程序的通用过程TestError形式如下: Sub TestError() On Error GoTo ErrorHandler …… Exit Sub ErrorHandler: 错误处理代码位于此处 …… End Sub 返回首页 返回本节 9.3.3 退出错误处理程序(1) 在错误处理程序内,可使用下列语句退出错误处理程序。 (1)Resume 语句:使程序返回到导致错误的那条语句上重新执行。 (2)Resume Next语句:使程序返回到导致错误的语句之后的那条语句上开始执行。 (3)Resume line语句:使程序转移到由标号line指示的位置上执行。 通常,若错误在错误处理程序内得以修正,可以使用Resume 语句,否则,若错误处理程序不能修正所出现的错误,则可以使用Resume Next语句。 9.3.3 退出错误处理程序(2) 【例9.1】设计一个进行除法运算的简单程序,运行界面如图9.10所示。在第一个文本框Text1中输入被除数,在第二个文本框Text2中输入除数,单击命令按钮CmdAdd(“运算”)时,在第三个文本框Text3中显示结果。 代码如下: Private Sub CmdAdd_Click() Text3.Text = Val(Text1.Text) / Val(Text2.Text) End Sub 正常的运算中一般不会出现问题,但当在Text2中输入的除数为0时,将导致错误,使程序异常终止,显示如图9.11所示的错误信息。 9.3.3 退出错误处理程序(3) 图9.10 例9.1运行结果 图9.11 除数为0的错误信息 现在考虑错误处理,为上述代码增加错误捕获和处理的功能,改变成如下形式: 9.3.3 退出错误处理程序(4) Private Sub CmdAdd_Click() On Error GoTo Error1 开始捕获错误 此语句可能引发错误 Text3.Text = Val(Text1.Text) / Val(Text2.Text) Exit Sub Error1: 进行错误处理 Text3.Text = 无效 返回到语句Exit Sub上执行 Resume Next End Sub 经过上述处理后,当Text2中的除数为0时,程序不会异常终止,如图9.12。 9.3.3 退出错误处理程序(5) 【例9.2】读写软盘中的文件时,如果软驱中没有插入软盘,将引起错误。此时也需要捕获错误并进行处理: Private Sub cmdOpenFile() On Error GoTo Error2 开始捕获错误 此语句可能引发错误 Open a:\test.txt For Output As #1 …… Exit Sub Error2: 进行错误处理 If MsgBox(可能没有插入软盘, vbRetryCancel) _ = vbRetry Then Resume 若单击“重试”按钮,返回到Open语句重新执行 End If End Sub 返回首页 返回本节 9.3.4 关于Err对象 (1) 在例9.2中,引起错误的原因也许不是软驱中没有插入软盘,其他很多原因都有可能引起软盘读写错误,因此尽管处理了错误,但并不十分有效。要编写有效的错误处理代码,则应该了解VB中的Err对象。 Err对象是一个VB运行期对象,它包含了关于最新的错误信息,可以帮助确定发生的错误类型、原因和错误发生的地方。当程序运行时遇到一个错误,或者
您可能关注的文档
- 精品第十五讲 x射线光电子谱(xps).ppt
- 教案金属电镀工艺学习报告.ppt
- 精品第二章 电视的崛起.ppt
- 浅析概率统计第三节 正态总体的常用抽样分布.ppt
- 浅析高中物理电磁感应必修2第5章第1讲曲线运动 万有引力与航天.ppt
- 课件参加第37届决策科学协会(dsi)年会的情况汇报.ppt
- 课件第2章__流体运动学和动力学基础(复习+习题).ppt
- 精品电池样品检测流程.ppt
- 精选数字电路5-2.ppt
- 课件第13章 自动测试系统.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 兰科植物促生菌筛选与人工栽培技术研究.pdf
- 氢氧化钠(片碱)MSDS安全技术说明书.docx
- 国家开放大学电大《成本会计》试题及答案.pdf
- 数学分析第四版下册课后习题答案.pdf
- 数学分析第四版下册课后习题答案.docx
- 2025年秋国家开放大学《商务英语3》形考任务参考答案.pdf
- Unit 2 Know your body Speed up 外研版(三起)(2024)英语三年级下册.pptx VIP
- 2026年春季开学教师收心会校长发言:骏驰启新程,笃行育新人;凝心再聚力,实干谱新篇.docx VIP
- Unit 2 Know your body Start up 外研版(三起)(2024)英语三年级下册.pptx VIP
- 空客A320飞行手册教程.doc VIP
原创力文档

文档评论(0)