
Visual Basic程序设计:程序调试与出错处理.ppt
19页单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,程序调试与出错处理,本章要求,:,1.,掌握,VB,程序调试方法,2.,学会,查找和修改和分析程序错误的方法,3.,了解错误处理的方法:,捕捉错误,设计的程序来处理不同错误4.,了解程序的打包和发布1,编译错误,指由于违反了,VB,的有关语法而产生的错误(也称语法错误)常见的编译错误有:,15.1,常见错误类型,Visual Basic,程序的错误分为:,编译错误,运行时错误,逻辑错误,(,1,)标点符号错(程序中只能使用西文标点);关键字输入错(例:,Dim,写成,Din,);一行语句没有写完整等,,(,2,)对象名称(,Name,属性)写错;,(,3,)对象的属性名、方法名,内部函数名写错;,(,4,)变量未定义或变量名写错(可在通用声明段加,Option Explicit,,采用变量显式声明);,(,3,)块,If,没有对应的,End If,语句;,For,循环没有对应的,Next,语句;,Do,循环没有对应的,Loop,语句等,这类错误当,VB,开始运行时提示出错信息,且将出错位置用反色显示,,2,运行错误,VB,在运行代码时指令代码执行了一非法操作引起的误指。
例如,除法时分母为零,被操作的驱动器未准备好或磁盘读写有错或数组下标超界、数据溢出等运行出错也将弹出一个子窗口,提示出错信息3,逻辑错误,程序存在逻辑上的缺陷引起程序运行后,得不到所期望的结果例如,使用了不正确的变量类型或指令的次序不对又如,循环中起终值不正确逻辑错误也可以产生运行错误通常,逻辑错误不会产生错误提示信息,需要程序员仔细地阅读分析程序15.2 VB6.0,系统调试工具,15.2.1,设置自动语法检测,在,VB,集成开发环境中,选择“工具”菜单的“选项”命令,再在打开的“选项”对话框中选“编辑器”标签,,15.2.2 VB,调试工具,Visual Basic,的调试包括:断点、中断表达式、监视表达式、通过代码一次经过一个语句或一个过程、显示变量和属性的值1,、,调试工具栏,15.3,调试和排错方法,15.3.1 VB,的三种工作模式,设计模式、运行模式和中断模式,15.3.2,控制程序的运行,1,启动对象及控制程序的运行,(,1,)逐语句运行,(,2,)逐过程运行,(,3,)从过程中跳出,2,设置断点,15.3.3,程序调试窗口,有三个调试窗口,它们是:“立即”窗口、“监视”窗口、和“本地”窗口。
可单击视图菜单中的对应命令打开这些窗口1,)“立即”窗口,显示代码中正在调试的语句所产生的信息,或直接往窗口中键入的命令所请求的信息2,)在中断模式下,,可自动显示出所有在当前过程中的变量声明及变量值单击调试工具栏上的,“,本地窗口,”,按扭或选择,“,视图,”,菜单的,“,本地窗口,”,显示),如图,15-8,所示3,)“监视”窗口显示当前的监视表达式,在代码运行过程中可决定是否监控这些表达式的值例,15.1,、,调试第六章例,6.4,传值、传址例题,观察变量的虚实结合过程15.4,出错处理,所谓错误处理,就是允许编写的应用程序对错误进行响应当一个错误发生了,程序能捕捉到这一错误,并可按程序设计者事先设计的方法来处理这一错误常规下通过以下步骤在应用程序中增加指令捕捉和处理运行错误:,1,、设置错误陷阱,在程序适当的地方加入一些语句来捕捉错误,一旦错误发生,程序的运行将转移到错误处理程序,根据所捕获到的错误代码告诉应用程序应当怎样操作2,、编写错误处理程序,当程序中出现运行错误时,程序的运行将转到错误处理程序,错误处理程序根据可预知的错误类型决定采取何种措施1,设置错误陷阱,使用,On Error,语句可设置陷阱,捕捉错误。
On Error,语句有如下形式:,(1)On Error Resume Next,发生错误时,忽略错误行,继续执行下一语句2)On Error GoTo,语句标号,发生错误时,使程序转跳到语句标号所指示的程序块3)On Error GoTo 0,表示当发生错误时,不使用错误处理程序块2,编写错误处理程序,编写错误处理程序一般要使用到,Err,对象,,它是一个系统对象,可以通过,Err,对象来获取错误的消息当出现,VB,错误时,有关错误的信息存储在,Err,对象中Err,对象每次只维护一个错误的信息当出现新的错误时,,Err,对象将更新为新的错误信息Err,对象,的缺省属性是,Number,属性当运行时错误发生时,,Err,对象的属性被填入明确识别错误的信息以及处理这个错误所使用的信息当,On Error,捕捉到错误后,,Err,对象的属性,Number,指示对应错误号,在错误处理程序块中可使用“,Select Case Err,.,Number”,或“,If Err,.,Number=”,语句编写出错处理例如,下面的,Test,过程是,Number,属性在错误处理过程中的典型用法Private S,ub test(),On Error GoTo out,Dim x,y,x=1/y ,引发一个,“,除以零,”,的错误,Exit Sub,out:,MsgBox Err.Number,MsgBox Err.Description,检查是否发生,“,除以零,”,的错误,If Err.Number=11 Then,y=y+1,End If,Resume,End Sub,3,退出错误处理,在错误处理程序中,当遇到,Exit Sub,、,Exit Function,、,End Sub,、,End Function,等语句时,将退出错误捕获。
在错误处理程序结束后,要恢复原有的运行可用,Resume,语句语法:,(,1,),Resume ,重新执行产生错误的语句,(,2,),Resume Next,重新执行产生错误的语句的下一语句,(,3,),Resume,语句标号,从语句标号初恢复执行,一般来说,一些可以修正的错误,可使用,Resume,,而在错误处理程序不能修正错误时使用,Resume Next,或,Resume,语句标号例,15.2,编写一个判断一个给定的文件是否存在的函数,并能处理无效驱动器或软盘驱动器没有磁盘等设备出错问题例,15.3,编写简单的错误处理程序处理当在文本中输入数据超过整型数的最大值,32767,时给出错误提示,并可重新输入15.5,生成执行文件和制作安装程序,15.5.1,生成执行文件,从,“,文件,”,菜单中选取,“,生成,projectname.exe”,,将打开,“,生成工程,”,对话框,如图,15-17,所示这里,“,projectname,”,是工程的应用程序名15.5.2,使用安装向导创建安装程序,为应用程序制作安装程序,打包是创建一个软件包的操作,该软件包可以将你的应用程序安装到用户的计算机上。
软件包由一个或多个,.CAB,文件组成,文件中包含了用户安装和运行应用程序所需的被压缩的工程文件和任何其他必需的文件这些文件可能包括安装程序、辅助的,.CAB,文件、或其他必需的文件这些附加的文件根据你创建的软件包类型不同而不同以一个,VB,工程为例,演示打包和展开应用程序15.5.3,检测安装程序,。












