程序调试与出错处理_第1页
程序调试与出错处理_第2页
程序调试与出错处理_第3页
程序调试与出错处理_第4页
程序调试与出错处理_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十五章第十五章 程序调试与出错处理程序调试与出错处理 本章要求本章要求: 1. 掌握掌握VB程序调试方法程序调试方法 2. 学会学会查找和修改和分析程序错误的方法查找和修改和分析程序错误的方法 3. 了解错误处理的方法:了解错误处理的方法:捕捉错误,设计的程序来处捕捉错误,设计的程序来处理不同错误。理不同错误。 4. 了解程序的打包和发布。了解程序的打包和发布。1编译错误编译错误 指由于违反了VB的有关语法而产生的错误(也称语法错误)。常见的编译错误有:15.1 常见错误类型Visual Basic程序的错误分为:编译错误运行时错误逻辑错误(1)标点符号错(程序中只能使用西文标点);关键字输

2、入错(例:Dim写成Din);一行语句没有写完整等, (2)对象名称()对象名称(Name属性)写错;属性)写错;(3 3)对象的属性名、方法名,内部函数名写错;)对象的属性名、方法名,内部函数名写错;(4 4)变量未定义或变量名写错(可在通用声明段加)变量未定义或变量名写错(可在通用声明段加Option Explicit,采用变量显式声明);,采用变量显式声明);(3 3)块)块If没有对应的没有对应的End If语句;语句;For循环没有对应的循环没有对应的Next语语句;句;Do循环没有对应的循环没有对应的Loop语句等,这类错误当语句等,这类错误当VB开始运开始运行时提示出错信息,且将

3、出错位置用反色显示,行时提示出错信息,且将出错位置用反色显示,2 运行错误运行错误 VB在运行代码时指令代码执行了一非法操作引起的在运行代码时指令代码执行了一非法操作引起的误指。例如,除法时分母为零,被操作的驱动器未准备好误指。例如,除法时分母为零,被操作的驱动器未准备好或磁盘读写有错。或数组下标超界、数据溢出等。或磁盘读写有错。或数组下标超界、数据溢出等。运行出错也将弹出一个子窗口,提示出错信息。运行出错也将弹出一个子窗口,提示出错信息。3 逻辑错误逻辑错误 程序存在逻辑上的缺陷引起程序运行后,得不到所期望的结果。 例如,使用了不正确的变量类型或指令的次序不对。又如,循环中起终值不正确。逻辑

4、错误也可以产生运行错误。通常,逻辑错误不会产生错误提示信息,需要程序员仔细地阅读分析程序。15.2 VB6.0系统调试工具系统调试工具15.2.1 设置自动语法检测设置自动语法检测 在在VB集成开发环集成开发环境中,选择境中,选择“工具工具”菜菜单的单的“选项选项”命令,再命令,再在打开的在打开的“选项选项”对话对话框中选框中选“编辑器编辑器”标签,标签, 15.2.2 VB调试工具调试工具 Visual Basic 的调试包括:断点、中断表达式、监视表达式、通过代码一次经过一个语句或一个过程、显示变量和属性的值。 1、 调试工具栏调试工具栏15.3 调试和排错方法调试和排错方法15.3.1

5、VB的三种工作模式的三种工作模式 设计模式、运行模式和中断模式15.3.2 控制程序的运行控制程序的运行1 1启动对象及控制程序的运行启动对象及控制程序的运行(1)逐语句运行(2)逐过程运行(3)从过程中跳出 2 2 设置断点设置断点15.3.3 程序调试窗口程序调试窗口 有三个调试窗口,它们是:“立即”窗口、“监视”窗口、和“本地”窗口。可单击视图菜单中的对应命令打开这些窗口。 (1)“立即”窗口 显示代码中正在调试的语句所产生的信息,或直接往窗口中键入的命令所请求的信息。 (2)在中断模式下,可自动显示出所有在当前过程中的变量声明及变量值。(单击调试工具栏上的“本地窗口”按扭或选择“视图”

6、菜单的“本地窗口”显示),如图15-8所示。 (3) “监视”窗口显示当前的监视表达式,在代码运行过程中可决定是否监控这些表达式的值。 例例15.115.1、调试第六章例6.4传值、传址例题,观察变量的虚实结合过程。15.4 出错处理出错处理 所谓错误处理,就是允许编写的应用程序对错误进行响应。当一个错误发生了,程序能捕捉到这一错误,并可按程序设计者事先设计的方法来处理这一错误。常规下通过以下步骤在应用程序中增加指令捕捉和处理运行错误:1、设置错误陷阱、设置错误陷阱 在程序适当的地方加入一些语句来捕捉错误,一旦错误发生,程序的运行将转移到错误处理程序,根据所捕获到的错误代码告诉应用程序应当怎样

7、操作。2、编写错误处理程序、编写错误处理程序 当程序中出现运行错误时,程序的运行将转到错误处理程序,错误处理程序根据可预知的错误类型决定采取何种措施。 1 设置错误陷阱 使用On Error语句可设置陷阱,捕捉错误。On Error语句有如下形式: (1) On Error Resume Next发生错误时,忽略错误行,继续执行下一语句。 (2) On Error GoTo 语句标号语句标号发生错误时,使程序转跳到语句标号所指示的程序块。 (3) On Error GoTo 0表示当发生错误时,不使用错误处理程序块。 2编写错误处理程序 编写错误处理程序一般要使用到Err 对象,它是一个系统对

8、象,可以通过Err对象来获取错误的消息。当出现VB错误时,有关错误的信息存储在Err对象中。Err对象每次只维护一个错误的信息。当出现新的错误时,Err对象将更新为新的错误信息。Err 对象的缺省属性是Number属性。当运行时错误发生时,Err对象的属性被填入明确识别错误的信息以及处理这个错误所使用的信息。 当On Error捕捉到错误后,Err对象的属性Number指示对应错误号。在错误处理程序块中可使用“Select Case Err.Number”或“If Err.Number = ”语句编写出错处理。 例如,下面的例如,下面的Test过程是过程是Number 属性在错误处理过属性在错

9、误处理过程中的典型用法。程中的典型用法。 Private Sub test()ub test() On Error GoTo On Error GoTo out out Dim x, y Dim x, y x = 1 / y x = 1 / y 引发一个引发一个“除以零除以零”的错误的错误 Exit SubExit Sub out: out: MsgBox MsgBox Err.Number Err.Number MsgBoxMsgBox Err.Description Err.Description 检查是否发生检查是否发生“除以零除以零”的错误的错误 If Err.Number = 11

10、ThenIf Err.Number = 11 Then y = y + 1 y = y + 1 End If End If Resume ResumeEnd SubEnd Sub3 3退出错误处理退出错误处理在错误处理程序中,当遇到 Exit Sub、Exit Function、End Sub、End Function等语句时,将退出错误捕获。在错误处理程序结束后,要恢复原有的运行。可用Resume 语句。语法:(1)Resume 重新执行产生错误的语句(2)Resume Next 重新执行产生错误的语句的下一语句(3)Resume 语句标号 从语句标号初恢复执行 一般来说,一些可以修正的错误

11、,可使用 Resume,而在错误处理程序不能修正错误时使用 Resume Next或Resume 语句标号。 例例15.2 15.2 编写一个判断一个给定的文件是否存在的函数,并能处理无效驱动器或软盘驱动器没有磁盘等设备出错问题。 例例15.3 15.3 编写简单的错误处理程序。处理当在文本中输入数据超过整型数的最大值32767时给出错误提示,并可重新输入。15.5 生成执行文件和制作安装程序生成执行文件和制作安装程序15.5.1 生成执行文件生成执行文件 从“文件”菜单中选取“生成projectname.exe”,将打开“生成工程”对话框,如图15-17所示。这里“projectname” 是工程的应用程序名。 15.5.2 使用安装向导创建安装程序使用安装向导创建安装程序 为应用程序制作安装程序,打包是创建一个软件包的操作,该软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论