visual basic程序设计-第二部分程序调试与错误处理(2003.1.3)_第1页
visual basic程序设计-第二部分程序调试与错误处理(2003.1.3)_第2页
visual basic程序设计-第二部分程序调试与错误处理(2003.1.3)_第3页
visual basic程序设计-第二部分程序调试与错误处理(2003.1.3)_第4页
visual basic程序设计-第二部分程序调试与错误处理(2003.1.3)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第二部分程序调试与错误处理在软件开发中,程序测试是相当重要的工作。程序中的错误一般分为编译错误、运行错误和逻辑错误。编译错误是语法错误,可以由语言系统的编译器发现,应在程序运行之前排除。运行错误(例如,数据溢出或内存不足)和逻辑错误(例如,采用不正确的算法描述)是在程序运行之后出现。这些错误不但影响程序的质量,甚至会导致系统的崩溃和产生灾难性的后果。许多大型的软件都在错误检测上投入相当多的人力物力。程序员的责任是把错误消灭在软件投入使用之前。VISUALBASIC提供一套简单实用的调试程序工具以及捕捉和处理错误的语句。在这一部分中主要介绍在VB集成开发环境下如何调试程序和在程序执行中处理错误的方法。21程序调试无论是初学编写程序的人,还是具有一定编程经验的程序员,编写出来的程序都可能存在着这样或那样的错误。所谓程序调试就是通过编译或跟踪找出程序的错误,并且给予改正。调试程序是开发应用程序不可缺少的步骤。211三种操作模式在VISUALBASIC集成开发环境编辑调试程序,有三种操作模式设计模式、运行模式和中断模式。上机调试程序的时候,我们应该清楚当前系统处在那一种模式的控制之下。1设计模式VISUALBASIC启动成功之后自动进入设计模式。进入设计模式后,系统在主窗口的标题栏上显示“设计”字样,屏幕显示如图211所示。图211设计模式在设计模式下,我们可以在窗体上建立控件、设置控件的属性、输入事件驱动程序或其它程序、利用属性窗口设置断点、设置监视点和建立监视表达式等。2运行模式当程序编辑完成,即界面设计和代码输入结束后,可以开始对程序进行调试。调试程序需要进入运行模式。进入运行模式有如下三种操作方法(1)选择“运行”菜单中的“启动”命令执行。(2)单击工具栏上的“启动”按扭。(3)按F5键。进入运行模式之后,系统主窗口标题栏上的“设计”变为“运行”,并开始编译、执行程序。编译是指编译器对源程序进行语法、语义分析,并翻译成机器执行代码。如果源程序出现语法错误,则报告出错信息。VISUALBASIC的“运行”模式自动完成编译和执行两步工作。如果编译成功,系统自动执行程序。否则,自动进入中断模式,等待用户检查和修改程序。用户检查和修改程序后应重新运行程序。程序成功运行后,系统还处在运行模式。若想退出运行模式返回设计模式,可以选择“运行”菜单中的“结束”命令执行;或单击工具栏上的“结束”按钮;或关闭运行窗体。须说明的是在运行模式下,我们只能对程序进行测试,观察程序的运行情况,而不能修改程序代码。3中断模式中断模式使程序在运行过程中中断执行,返回编辑状态。在集成开发环境下,从运行模式进入中断模式有如下三种操作方法(1)选择“运行”菜单中的“中断”命令执行。(2)单击工具栏上的“中断”按钮。(3)按CTRLBREAK组合键。进入中断模式后,程序在当前位置中断执行,在标题栏上显示“BREAK”字样。此时,我们可以编辑程序,包括编辑程序代码和控件。一般情况下,中断程序执行并进行适当的工作之后,还要运行程序。若想从断点开始继续执行程序,则可以选择“运行”菜单中的“继续”命令执行,或按F5键;若希望重新执行,则可以选择“运行”菜单中的“重新启动”命令执行,或单击工具栏上的“启动”按钮。212错误的分类前面已经介绍过,应用程序中出现的错误一般可以分为三种编译错误、运行时错误和逻辑错误。1编译错误编译错误是由于程序编写时出现语法问题而产生的错误。例如,写漏写错字符;关键字拼错;括号不配对;遗漏语法成分;标识符未定义等等,都属于语法错误。VISUALBASIC编译程序能检测到这种错误,并以蓝色反相(蓝底白字)显示出错部分。例211从键盘上输入三角形的三条边,求三角形的面积。假设编写的程序为OPTIONEXPLICITPRIVATESUBCOMMAND1_CLICKDIMA,B,C,P,SAINPUTBOX“请输入三角形的第一条边“BINPUTBOX“请输入三角形的第二条边“CINPUTBOX“请输入三角形的第三条边“IFABCANDBCAANDACBTHENPABC/2SSQRTPPAPBPCPRINT“三角形的三条边长为“ABCPRINT“三角形的面积为“SELSEPRINT“不能构成三角形“ENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB上机设计界面、输入程序后,单击工具栏上的“启动”按钮,程序开始编译执行。程序运行后,单击命令按钮COMMAND1,系统开始执行相应事件过程。执行到语句“SSQRTPPAPBPC”时系统会检测到程序“子程序或函数未定义”的错误。此时,屏幕显示如图212所示。图212以蓝底白字显示出错部分和显示出错信息可以看到,系统以蓝色反相显示出错的部分,并弹出消息框显示出错信息。按“确定”按钮,系统进入中断模式。这时,可以对程序进行修改,修改完后单击工具栏上的“启动”按钮,重新运行程序。特别地,VISUALBASIC提供了设置“自动语法检测”功能,作用是可以在用户编辑程序时,进行同步语法检查。例如,在输入例211程序中的块IF语句时,若输入语句IFABCANDBCAANDACB后按回车键,屏幕马上弹出消息框,显示错误信息,如图213所示。可以看到,出错部分的字体为红色。此时,按“确定”按钮,可以继续编辑程序。图213自动语法检测若当前系统没有设置“自动语法检测”功能,可以通过以下操作步骤设置“自动语法检测”功能(1)选择“工具”菜单中“命令执行。此时,屏幕出现“选项”对话框。(2)单击“选项”对话框中“编辑器”选项。(3)选择“自动语法检测”选项。(4)单击“确定”按钮。出现编译错误时,系统显示的错误提示信息一般比较少,有时还需要程序员检查程序,找出出错的确切原因和位置。在多数情况下,程序出现编译错误时,系统会以反相显示程序的出错部分,但有时它设有定位到真正出错位置,而是反相显示出错后的附近位置。因此,如果没发现反相显示部份的错误,就应检查该单词前后的内容,确定出现错误的位置,找出错误的原因。例如,在输入例211程序中的块IF语句时,若没有输入“ENDIF”,则在运行程序时屏幕显示如图214所示。可以看到,系统以反相显示“ENDSUB”,但不是“ENDSUB”有错,而是前面的块IF语句缺了“ENDIF”。图214以反相显示出错后的第一行2运行时错误有时候程序没有出现语法问题,但程序执行到某一个语句无法进行下去,这种错误称为运行时错误,简称为运行错误。简单的运行时错误有除数为0、对负数求平方根、对负数求对数、溢出和类型不匹配等。例212计算的值。10321S假设编写的程序为OPTIONEXPLICITPRIVATESUBCOMMAND1_CLICKDIMI,SS0FORI1TO100000SS1/INEXTIPRINT“S“SENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB上机设计界面、编辑程序和单击工具栏上“启动”按钮后,程序开始运行。程序运行后,单击命令按钮COMMAND1,系统开始执行相应事件过程。执行到FOR语句时,出现“溢出”错误。这种错误就是运行时错误。屏幕显示如图215所示。图215运行时错误此时,应当单击“调试”按钮,进入中断模式,把I的类型修改为长整型。即把语句DIMI,S修改为DIMI“输入的整数为“IPRINTAI/100BIA100/10CIA100B10PRINTTAB18I“的百位数为“APRINTTAB18I“的十位数为“BPRINTTAB18I“的个位数为“CENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB程序运行后,单击命令按钮COMMAND1,执行相应事件过程。在调用INPUTBOX函数时,用户需输入一个整数。例如,输入789。执行程序之后在窗体上输出来的结果是输入的整数为789789的百位数为8789的十位数为1789的个位数为1通过分析可以知道这些结果都是错误的。这种错误就是逻辑错误。经过检查程序发现,语句AI/100和BIA100/10中的运算符“/”应为“”。修改后为AI100和BIA10010再重新运行程序就会得出正确结果。与前面两种错误不同,系统无法给出程序中产生逻辑错误的信息。因此,逻辑错误是最难检查和定位的错误,而又是程序员必须避免的错误。为此,VISUALBASIC提供了一些调试手段、调试工具和调试窗口等给用户检查、跟踪和改正这类错误。213程序中断在VISUALBASIC中,设置了程序中断、跟踪、设置监视点和监视表达式等机制帮助程序员调试程序。它们是缩小错误所在范围,快速排错的有效手段。调试程序时,经常需要在某个关键地方暂停执行,以便找出程序中的错误。暂停程序的执行常用的方法有两种设置断点和使用STOP语句。1设置断点所谓断点就是在程序的运行中要暂时停止执行的语句。断点可以在设计模式中设置,也可以在中断模式中设置。设置断点有三种常用的方法(1)在代码窗口中用鼠标将光标移到需设置断点的语句,然后选择“调试”菜单中的“切换断点”命令执行,或按F9键。(2)在代码窗口中用鼠标将光标移到需设置断点的程序行左边的灰色区域。此时,光标变成左指箭头。然后单击鼠标左键,这时系统就把该程序行设置为断点。(3)在代码窗口中用鼠标将光标移到需设置断点的程序行左边,并单击鼠标右键。此时,系统弹出一个菜单。在这个菜单中,选择“切换/断点”命令,把该程序行设置为断点。无论使用上述哪一种方法设置断点,断点的相应语句或程序行中的字符都变为粗体和以深红色反相显示,并在代码窗口的左边灰色区域中出现一个圆点。设置断点的方法也可以用来取消断点。即使用上述三种方法来设置断点时,若该程序行不是断点,则设置为断点;否则,该操作取消断点。如果要取消所有断点可以选择“调试”菜单中的“清除所有断点”命令执行或按CTRLSHIFTF9组合键。设置程序断点的作用是对程序分段测试。程序在断点处暂停执行后,可以检查程序中相关变量和表达式的当前值。例214求的值,其中X值从键盘上输入。12XY对这个问题,编写程序OPTIONEXPLICITPRIVATESUBCOMMAND1_CLICKDIMX,YXINPUTBOX“X“YSQRX21PRINT“X“X,“Y“YENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB上机设计界面和编辑程序后。在语句“YSQRX21”处设置断点,屏幕显示如图216所示。然后单击工具栏上的“启动”按钮运行程序。程序运行后,单击命令按钮COMMAND1,执行事件过程。当执行到语句YSQRX21时,系统暂停程序的执行,进入中断模式,语句YSQRX21以黄色反相显示,语句左边灰色区域出现一个向右箭头指向断点。屏幕显示如图217所示。图216设置断点这时候,若要检查变量X的值,只要把鼠标移到X处,系统立即把X的值显示出来。若要检查表达式“X21”的值,则先选择“X21”,使表达式以蓝色反相显示,然后把鼠标移到该表达式处,系统显示“X21”的当前值。图217执行到断点处2使用STOP语句在VISUALBASIC中有一个专门用于调试程序的STOP语句,功能是暂停程序的执行,并进入中断模式。例如,在例214程序中语句YSQRX21之后加上一个STOP语句。当执行到STOP语句时,系统暂停执行,即把这个语句当作一个断点。STOP语句以黄色反相显示,如图218所示。此时,同样可以检查各变量和表达式的当前值。218STOP语句作为断点值得注意的是若使用了STOP语句设置断点,则当程序调试完成之后,应当删除STOP语句,否则程序无法正常运行。程序在断点或STOP语句处中断之后,若要继续执行程序,可以选择“运行”菜单的“继续”命令执行或按F5键。此时,系统将从断点处重新开始执行程序。214程序的跟踪所谓程序跟踪就是观察系统执行程序的过程。使用跟踪手段调试程序,可以按程序中语句的执行先后顺序来检查每一个语句的执行情况,以便找到发生错误的语句。在VISUALBASIC中,跟踪程序有两种常用方式。这两种常用方式是单步执行和过程单步。1单步执行单步执行实际上就是控制系统按程序中语句的执行顺序每次只执行一个语句,然后根据执行的结果来判断执行的语句是否正确。在设计模式下,启动单步执行功能可以使用如下操作方法(1)选择“调试”菜单中的“逐语句”命令执行。(2)单击“调试”工具条上的“逐语句”按钮。(3)按F8功能键。启动单步执行功能之后,系统立即进入运行模式。当某个事件驱动之后,系统就开始执行事件驱动程序中的语句,并自动切换到中断模式。每启动一次单步执行功能,系统执行一个可执行语句,并把下一个可执行语句设置为“待执行语句”。要想按程序执行语句的先后顺序检查每一个语句的执行情况,就要多次启动单步执行功能。每单步执行一个语句后,都可以检查变量或表达式的当前值。若发现语句有错误,可以立即进行修改。通常用功能键F8更加便于操作,每按一次F8键,执行一个语句。例215把一组数据存放到一维数组A中,求这组数中的最大值,并求最大值在数组中的位置。解决这个问题的程序为OPTIONEXPLICITPRIVATESUBCOMMAND1_CLICKDIMAASVARIANT,MAX,MAXLDIMIAARRAY90,67,76,88,93,56,77,85,60,65MAXA0MAXL0FORI1TOUBOUNDALBOUNDAIFAIMAXTHENMAXAIMAXLINEXTIPRINT“最大值“MAX,“下标“MAXLENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB界面设计、代码编辑完成后,进入单步执行的操作步骤为(1)单击“调试”工具条(若不在窗口上,则可以单击“视图/工具栏/调试”命令)上的“逐语句”按钮,系统进入运行模式。也可以按F8热键,进入运行模式。(2)程序运行之后,单击COMMANDL命令按钮,相应的事件过程开始执行,系统切换到中断模式。(3)重复步骤(1),执行当前语句,把下一个可执行语句设置为“待执行语句”,直至跟踪程序执行的整个过程。待执行语句以黄色反相色显示,如图219所示。图219使用单步执行功能跟踪程序2过程单步如果确信执行某个过程不会产生错误,可以使用过程单步快速跟踪调试程序。过程单步与单步执行十分相似,只是过程单步把调用过程调用语句仅作为一步,而不进入被调用过程跟踪内部的语句。在设计模式下,启动过程单步功能有如下操作方法(1)选择“调试”菜单中的“逐过程”命令执行。(2)单击“调试”工具条上的“逐过程”按钮。(3)按SHIFTF8组合键。例216求的值。785S对这个问题可以编程序如下OPTIONEXPLICITPRIVATESUBFACBYVALN,BYREFFSENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB界面设计、代码编辑完成后,按SHIFTF8组合键启动过程单步功能。此时,屏幕出现窗体,单击命令按钮COMMAND1后,事件过程开始执行。再次按SHIFTF8组合键,系统把语句CALLFACF,F1作为待执行语句。再次按SHIFTF8组合键,执行语句CALLFACF,F1并把下一个语句CALLFACF,F2作为待执行语句。待执行语句以黄色反相显示,如图2110所示。此时,可以把光标移到F1处检查F1的值。连续按SHIFTF8组合键就能跟踪程序执行的整个过程。图2110使用过程单步功能跟踪程序215监视点与监视表达式在VISUALBASIC中,监视点与监视表达式也是调试程序的重要手段。1监视点与断点类似,使用监视点也可以中断程序的执行,但监视点是有条件中断的。例如,可以设置某条件成立时才中断程序的执行。监视点实际上是一个表达式。当该表达式的值为TRUE时,程序中断执行。监视点通过监视窗口设置。操作步骤为(1)选择“调试”菜单中的“添加监视”命令执行。此时,屏幕弹出一个“添加监视”对话框,如图2111所示。该对话框分为三个部分,这三个部分为“表达式”文本框、“上下文”和“监视类型”两个框架。(2)在“表达式”文本框框架中输入表达式。(3)在“上下文”框架中指定要监视的过程和模块。(4)在“监视类型”框架中选择“当监视值为真时中断(T)”选项。(5)单击“确定“按钮。图2111“添加监视”对话框例217求Y1/1X2的值,X从键盘上输入。要求设置监视点监视表达式1X2的值的变化。若1X20,则中断程序的执行。据题意编写程序为OPTIONEXPLICITPRIVATESUBFORM_CLICKDIMX,YXINPUTBOX“X“Y1/1X2PRINT“Y“YENDSUB输入FORM_CLICK事件过程,然后设计监视点。设置监视点的过程为(1)选择“调试”菜单中的“添加监视”命令执行。此时,屏幕显示一个“添加监视”对话框。(2)在“表达式”文本框中键入表达式1X20(3)在“上下文”框架中的“过程”文本框中输入FORM_CLICK(4)在“模块”文本框中输入FORM1(5)在“监视类型”框架中选择“当监视值为真时中断(T)”选项;(6)单击“确定”按钮。设置监视点后,按工具栏上的“启动”按钮,程序开始运行。程序运行后,单击窗体,执行相应事件驱动程序。执行到语句XINPUTBOX“X“时,若输入05,则输出结果为Y1333333。若输入1,则监视点“1X20”的值为真,程序中断执行。断点在语句Y1/(1X2)处,屏幕显示如图2112所示。图2112当监视值为真时中断程序的执行2监视表达式使用监视表达式和单步执行功能也可以监视表达式的值的变化。监视表达式也是通过监视窗口设置的。设置监视表达式的操作步骤为(1)选择“调试”菜单中的“添加监视”命令。此时,打开“添加监视”对话框。(2)在“表达式”文本框中输入变量名或表达式。(3)在“上下文”框架中指定要监视的过程和模块。(4)在“监视类型”框架中选择“监视表达式”选项。(5)单击“确定”按钮。例如,对于例215,输入程序后,按照前面介绍的操作步骤设置两个监视表达式MAX和MAXL,然后按F8键启动单步执行功能和单击命令按钮COMMAND1。单击命令按钮COMMAND1后,连续按F8键,我们就能在监视窗口查看变量MAX和MAXL的值的变化,屏幕显示如图2113所示。监视表达式可以是变量、算术表达式、关系表达式和逻辑表达式等。选择变量作为监视表达式时,除了可以直接在“添加监视”窗口中输入该变量的名字外,也可以在程序中先双击该变量,然后选择“调试”菜单中的“添加监视”命令执行。这时该变量就会出现在“表达式”文本框内。按“确定”按钮,该变量就作为监视表达式。若监视表达式为程序中的表达式,除了可以直接在“添加监视”对话框中输入外,也可以在程序中先选定该表达式,然后选择“调试”菜单中的“添加监视”命令执行。这时该表达式就出现在“表达式”文本框内,按“确定”按钮后,该表达式就作为监视表达式。图2113显示监视表达式的值216调试窗口VB有三个调试窗口,它们是立即窗口、本地窗口和监视窗口。监视窗口的使用在前面已经介绍过了。在这一小节要介绍立即窗口和本地窗口的使用。1立即窗口调试程序时,立即窗口不仅可以用来检查变量或控件属性的值,而且能够修改变量和控件属性的值,还可以用于测试过程。当系统进入中断模式或程序执行到DEBUGPRINT语句之后将自动打开立即窗口。也可以使用如下方法打开立即窗口(1)选择“视图”菜单中的“立即窗口”命令执行。(2)单击“调试”工具条上的“立即窗口”按钮。(3)按CTRLG组合键。下面介绍立即窗口在调试程序中的使用。使用立即窗口输出变量或控件属性或表达式的值为了在立即窗口输出变量、控件属性或表达式的值,可以在程序中插入DEBUGPRINT语句,也可以在程序运行之后直接在立即窗口键入PRINT命令。例218假设有一事件过程为OPTIONEXPLICITPRIVATESUBFORM_CLICKDIMA,B,CA20B4DEBUGPRINTCCABDEBUGPRINTCCA/BDEBUGPRINTCENDSUB输入事件过程和启动程序后,单击窗体,系统执行事件驱动程序。执行结果如图2114所示。图2114在立即窗口中输出结果例219假设有如下程序OPTIONEXPLICITPRIVATESUBFORM_CLICKDIMI,SS0FORI1TO5SSINEXTIPRINT“S“S用于窗体输出的方法ENDSUB输入事件过程和按F8键启动单步执行功能,程序开始运行,系统自动打开立即窗口。单击窗体,执行相应的事件过程。连续按F8键跟踪程序的执行。每执行一个语句之后都能在立即窗口中键入PRINT命令,检查你所关心的变量或表达式的值。例如,若执行FOR语句之后想检查一下I的值是多少,可以在立即窗口中输入命令PRINTI然后按回车键。此时,I的值就显示出来了(参见图2115)。须注意的是程序中的语句PRINT“S“S是作用于窗体的PRINT方法,相当于FORMPRINT“S“S而在立即窗口输入的PRINTI是立即执行命令。图2115在立即窗口中使用PRINT命令使用立即窗口修改变量或控件属性的值例2110下面是求YLNX的值的程序。要求输入的X值为负数时,在立即窗口中把X的值修改为X,然后继续执行程序。可以编写程序为OPTIONEXPLICITPRIVATESUBFORM_CLICKDIMX,YXINPUTBOX“X“DEBUGPRINT“X“XYLOGXDEBUGPRINT“X“X,“Y“YENDSUB输入事件过程,并把语句YLOGX设置为断点。单击工具栏上的“启动”按钮,程序开始执行,立即窗口打开。出现窗体之后,单击窗体。此时,系统开始执行事件过程。执行到语句XINPUTBOX“X“时,输入X的值为10。执行到语句YLOGX时,程序中断执行。此时,把光标移到立即窗口,在立即窗口中输入语句XX并按回车键。然后按F5键继续执行程序,输出结果如图2116所示。图2116在立即窗口中修改变量的值使用立即窗口调试过程为了提高编程效率,可以使用立即窗口调试过程。调试时,若发现语句有错误,可以立即进行修改。例2110假设某一个应用程序需编写很多个过程,其中有一个求FX的值的函数过程,。012XXF编写的函数过程为PRIVATEFUNCTIONFBYVALXIFX0THENFX21ELSEIFX功能设置错误陷阱,并由行号或行标号给定错误处理程序段的入口语句。当运行程序发生错误时,系统能捕捉到错误,并转到错误处理程序段执行。例如,ONERRORGOTO100功能是当发生运行时错误时,转到行号为100的语句执行。又如,ONERRORGOTOERRORHANDLER功能是当发生运行时错误时,转到行标号为ERRORHANDLER的语句去执行。须说明的是使用ONERROR语句设置错误陷阱以后,无论检测到什么错误,都会转到错误处理程序段去执行。格式2ONERRORRESUMENEXT功能设置错误陷阱,当发生运行时错误时,转到发生错误语句的下一个语句去执行。格式3ONERRORGOTO0功能当发生运行时错误时,若错误处理程序段不能处理这种错误就停止程序的执行。2错误处理程序(1)错误处理程序格式实现错误处理功能必须要编写一段能处理错误的程序,这段程序称为错误处理程序段。它的一般格式为例如,ERRORHANDLERXXRESUME就是一个错误处理程序段。需要注意的是错误处理程序段内不能再设置错误陷阱。也就是说,错误陷阱不能嵌套。实际编写程序时,错误处理程序应当放在不会被应用程序正常执行到的地方。一般放在EXITSUB或EXITFUNCTION和ENDSUB(或ENDFUNCTION)之间。也就是说,含有错误处理程序段的过程(包括事件过程、子过程和函数过程)的一般格式为内含ONERROR语句EXITSUB或EXITFUNCTION(2)RESUME语句当错误处理程序段执行完之后,使用RESUME语句返回程序的适当位置继续执行。RESUME语句有几种不同的格式,分别用来指定程序恢复执行的位置。格式1RESUME0功能返回发生错误的语句继续执行。格式2RESUMENEXT功能返回发生错误的下一个语句继续执行。格式3RESUME行号或行标号功能返回由行号或行标号所标识的语句去执行。223应用举例例223使用ERR对象的RAISE方法模拟错误的产生,防止输入的成绩小于0或大于0。按题意编写程序为OPTIONEXPLICITPRIVATESUBCOMMAND1_CLICKDIMMSG,SCOREONERRORGOTOERRORHANDLERMSG“输入正确“SCOREINPUTBOX“请输入分数(0100)“IFSCORE100THENERRRAISE16ENDIFMSGBOXMSGEXITSUBERRORHANDLERIFERRNUMBER15THENMSG“分数小于0,输入错误“ELSEIFERRNUMBER16THENMSG“分数大于100,输入错误“ENDIFRESUMENEXTENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB在程序中,事件过程COMMAND1_CLICK对输入的分数进行检查。如果分数小于0,则模拟产生代码为15的错误。如果分数大于100,则模拟产生代码为16的错误。程序运行之后,单击命令按钮COMMAND1,执行事件过程COMMAND1_CLICK。首先使用语句ONERRORGOTOERRORHANDLER设置错误陷阱,发生错误时,转向执行标号为ERRORHANDLER的语句行。然后输入分数,若输入的分数小于0或大于100

温馨提示

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

评论

0/150

提交评论