欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    vb程序调试与错误处理初步.ppt

    • 资源ID:5451974       资源大小:595.50KB        全文页数:36页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    vb程序调试与错误处理初步.ppt

    第14章 VB程序调试与错误处理初步,可选内容(时间:2次课,4学时),第14章 VB程序调试与错误处理初步,教学提示:本章主要介绍VB的程序调试技术,其中包括VB编程过程中常见的错误类型的产生和表现,以及利用VB提供的调试工具和语句对程序错误进行捕获、处理和修改的方法。VB为广大用户提供了功能强大的程序调试工具,使用户能够迅速排除编程中出现的问题。本章主要介绍:VB程序错误的种类、错误处理的方法以及程序代码调试的方法。,第14章 VB程序调试与错误处理初步,14.1 错误的种类 14.2 错误处理 14.3 代码调试 14.4 小结14.5 思考与练习,14.1 错误的种类,14.1.1 语法错误 14.1.2 运行错误 14.1.3 逻辑错误,14.1.1 语法错误,语法错误是存在于代码中的语言结构方面的错误。比如,拼写错误、缺少操作对象、不符合语法规则等错误都属于语法错误。例如,我们要输入下列代码:Private Sub Form_Load()Dim i As IntegerDim j As IntegerDim sum As Integersum=0For i=1 To 100 For j=1 100 End Sub,14.1.1 语法错误,由于我们不小心将语句:For j=1 To 100书写成For j=1 100(漏掉了To),则当用户按下Enter键的时候,Visual Basic就会立刻测出这样的错误,会提示用户“缺少To”,如下图所示。,14.1.2 运行错误,运行错误是指在运行程序的时候发生的错误。这些错误在编写的过程中,因为它们符合语法规则,所以不会被识别出来,也不会在编译的时候被发现。它们往往是由于进行了某种错误的操作造成的。例如,下面一段代码:Private Sub Command1_Click()Dim number As IntegerDim total As DoubleDim aver As Doubletotal=Val(Text1.Text)number=Val(Text2.Text)aver=total/numberText3.Text=averEnd Sub,14.1.2 运行错误,该程序在计算平均值时,很有可能在没有提供参数number,或者提供了不合法的值,则会产生除数为0的错误,从而引起程序的崩溃。如下图所示:,这时,用户可以单击【结束】按钮来结束程序,也可以单击【调试】按钮来发现是哪一条语句发生了错误,以便于修改。,14.1.3 逻辑错误,逻辑错误指的是程序可以执行,但就是得不到用户所希望的结果。这并不是程序语句的错误,而是由于程序设计时本身存在的逻辑缺陷而导致的。如定义了错误的变量类型,或程序中出现了不正确的循环次数或死循环等等。大多数逻辑错误不容易发觉是在哪一条语句发生的,而且错误产生的原因与产生错误结果的语句之间可能隔有很多语句。因此,对于逻辑错误一般要使用单步执行和监视的方法来查找错误的根源。,14.2 错 误 处 理,对于程序中可能出现的错误都要进行处理,否则会使应用程序崩溃。但是,有的错误是用户无法避免的。例如,当光驱中没有光盘时,用户访问了光驱,这时,系统会产生一个“设备没有准备好”的错误。在Visual Basic中,允许使用错误处理方法来对可能出现的错误进行预先处理。所谓错误处理,就是提供发生错误时执行的代码,也相当于是程序运行的一部分。当一个错误发生的时候,应用程序应该可以探测到这一个错误,并且进行相应的错误处理。用户应当在可能产生错误的地方放置错误探测语句,同时,在同一个程序中放置错误的处理代码。通常含有错误的探测捕捉和处理设置错误的捕捉陷阱,即在程序中可能出现错误的地方放置捕捉语句来捕获产生错误的语句。编写错误处理程序,即当程序中出现错误的时候,程序将运行用户指定的程序。退出错误处理程序,即在处理错误之后,应该恢复原来的一些参数,然后让程序继续正常地运行下去。,14.2 错 误 处 理,14.2.1 错误捕获 14.2.2 激活错误捕获功能 14.2.3 编制错误处理程序,14.2.1 错误捕获,当程序中的某行代码试图执行一项非法的操作时,将产生运行时错误(Run-Time Error)。例如,当我们的程序需要打开某个特定的文件时,如果这个文件被误删了,就会产生运行时错误“file not found”(文件未找到),如下图所示。,再如,当我们的程序要从软盘中读取文件时,如果软驱中没有软盘,就会产生运行时错误“Disk not ready”(磁盘没有准备好)。,14.2.1 错误捕获,通过这些例子可以看出,运行时错误是无法避免的。但是,一旦出现运行时错误,将造成程序崩溃。因此,我们必须对可能发生的错误进行处理。许多运行时的错误只能靠用户来解决,比如插入软盘。因此,我们必须在系统发出错误之前,截获错误,在错误处理程序中提示用户采取措施,是解决问题还是取消操作。如果用户解决了问题(如插入了软盘),我们的程序就能够继续执行,如果用户选择取消操作,我们就可以跳过这段程序,而继续执行后面的程序。这就是处理运行时错误的方法,我们将这个过程称为错误捕获(Error Trapping)。,14.2.2 激活错误捕获功能,在我们捕获运行时错误之前,首先要激活错误捕获功能,这项任务是由On Error语句来完成的。On Error语句共有3种格式。On Error Goto 行号 此语句的功能是激活错误捕获,并将错误处理程序指定为从“行号”位置开始的程序段。例如:Private Sub Form_Load()Dim r As VbMsgBoxResult On Error GoTo notready ChDrive A Exit Subnotready:r=MsgBox(请插入软盘!,vbRetryCancel+vbCritical,缺少软盘)If r=vbRetry Then ResumeEnd Sub,14.2.2 激活错误捕获功能,这是一个典型的错误处理过程。首先,我们可以预料到在此过程中有可能出现运行时错误,因此,在过程开始时,我们使用On Error GoTo notready激活错误捕获功能,并指定从行号“notready”开始的程序段为错误处理程序(注意,行号后面要加一个冒号,但在语句On Error GoTo notready中不加冒号)。这样,当程序运行到语句“ChDrive”A“”并发生错误时,将执行行号“notready”后面的语句。如果不发生错误,当执行到语句“Exit Sub”时,将退出过程。在过程退出时,错误捕获功能就自动被取消了。2.On Error Resume Next 此语句的功能是忽略错误,继续往下执行。使用这种格式的语句,它可以激活错误捕获功能,但并不指定错误处理程序,当错误发生时,不做任何处理,紧接着从发生错误语句之后的语句继续执行。,14.2.2 激活错误捕获功能,例如,如下一段代码:Private Sub Form_Load()On Error Resume Next ChDrive A FileCopy readme.txt,d:read.txtEnd Sub 这段程序的功能是拷贝“A”盘中的“readme.txt”文件到“D”盘。假设当前驱动器是“C”盘,如果在执行语句“ChDrive”A“”时出错,就忽略此项操作,继续留在“C”盘。并将“C”盘当前目录下的“Readme.txt”文件拷贝到“D”盘,如果在“FileCopy”readme.txt“,”d:read.txt“”语句再出现错误,那么干脆什么都不做自动退出此过程。3.On Error Goto 0 此语句用来关闭错误捕获功能。当用户确定已经没有错误产生或者错误已经得到处理,就可以关闭错误捕获功能。要注意,错误捕获功能一旦被激活,将保持到过程结束,如果我们要在过程结束之前就关闭此功能,应使用“On Error Goto 0”语句。,14.2.3 编制错误处理程序,在捕获到运行时错误后,接下来就是要执行错误处理程序。在错误处理程序中,我们要针对错误的类型,向用户提供解决的方法,然后根据用户的选择,进行相应的处理。在Visual Basic中,每当产生错误的时候,都会将当前错误的编号和描述存储在Err对象中。因此,我们可以通过这个对象来判断当前产生的是什么错误。Err对象是一个具有全局范围的固有对象,用户不必在程序中重新定义它。Err对象最常用的属性是Number属性和Description属性。Number属性存储当前错误的编号,Description属性存储当前错误的描述。,14.2.3 编制错误处理程序,Visual Basic中的常见错误码及其描述如下表所示。,14.2.3 编制错误处理程序,Number属性的出现为错误的几种处理提供了很好的方法。根据用户不同的选择,返回的位置有所不同,如果用户解决了问题,并选择重试,就应该返回到产生错误的语句重新执行,如果用户选择取消操作,就应该跳过产生错误的语句,返回到它的下一行语句继续执行。从错误处理程序中返回时,我们使用Resume语句。根据不同的返回位置,Resume语句可分为3种:Resume 0:返回到产生错误的语句重新执行。“0”可以省略。Resume Next:跳过产生错误的语句,返回到它的下一行语句继续执行。Resume 行号:返回到行号指定的位置继续执行。,14.2.3 编制错误处理程序,下面我们来看一个例子:Private Sub Form_Load()Dim r As VbMsgBoxResult On Error GoTo eh ChDrive A FileCopy readme.txt,d:readme.txt Exit Subeh:Select Case Err.Number Case 71 r=MsgBox(请插入软盘!,vbRetryCancel+vbCritical,缺少软盘!)If r=vbRetry Then Resume Else Resume Next End If Case 53 r=MsgBox(找不到文件,请将文件恢复后重试.,vbRetryCancel+vbCritical,缺少文件!)If r=vbRetry Then Resume End SelectEnd Sub,14.2.3 编制错误处理程序,我们通常使用Select Case语句来判断错误的类型。在这个例子中,“磁盘没有准备好”是71号错误,“找不到文件”是53号错误。对于不同的错误类型,程序将向用户提示不同的信息。在这个例子中,对于“磁盘没有准备好”的错误,程序将向用户提示插入软盘,当用户单击“重试”按钮时,程序使用Resume语句返回到产生错误的行“ChDrive A”。如果这时用户已经插入软盘,这行语句将不会再产生错误,因此程序将继续执行。如果用户单击“取消”按钮,程序将使用Resume Next 语句返回到产生错误的下一行“FileCopy readme.txt,d:readme.txt”继续执行。,14.3 代 码 调 试,有时,程序中不存在语法错误或运行时错误,也没有执行非法操作的语句,但是程序运行的结果却是不正确的。我们称这种错误为逻辑错误。例如,使用了错误的公式或局部变量与全局变量混用了等。程序运行时对于逻辑错误并没有任何的提示,我们只能深入到程序的内部,一步步地执行程序,观察程序的执行过程,从而找出隐藏在程序中的逻辑或运行时错误。我们将这个过程称为调试。调试是一种查找错误的手段,而不是处理或改正错误的手段。,Visual Basic为用户提供了功能强大的调试工具,对于错误程序的更正有很大的帮助,而且可以跟踪程序的执行过程。调试工具包含【设置断点】、【单步执行】、【显示变量内容】等。下面,我们就来学习一下,如何利用Visual Basic为用户提供的调试工具来调试程序。首先,单击【视图】菜单中的【工具栏】命令,打开【调试】工具栏。如下图所示。,14.3 代 码 调 试,14.3 代 码 调 试,14.3.1 中断程序的执行 14.3.2 跟踪操作,14.3.1 中断程序的执行,中断程序的执行是指当程序运行到某一行语句时,就进入中断状态,不再继续执行。这样我们就可以在中断状态下调试程序。常用的方法是通过设置断点来实现,下面我们来看看有关断点的操作。1.设置断点 将插入点放在要设置断点的行,然后使用下述操作之一便可为该行设置断点:选择【调试】菜单中的【切换断点】命令。单击调试工具栏中的按钮。按F9键。,14.3.1 中断程序的执行,为某一行设置了断点后,该行代码将以红底白字显示,并在边界指示条中出现一个红色的圆圈,表示这一行代码已被设置了断点。如图14.5所示。,2.清除断点对已设置断点的行,再执行和上面相同的操作便可清除断点。3.清除所有断点选择【调试】菜单中的【清除所有断点】命令。或按【Ctrl+Shift+F9】键。,14.3.2 跟踪操作,14.3.2 跟踪操作,2.逐过程执行 此项操作单步执行代码,如果碰到过程调用,则不进入该过程,也就是说,将过程调用看作一行语句来执行。逐过程执行代码有下面3种方法。选择【调试】菜单中的【逐过程】命令。单击调试工具栏中的 按钮。按Shift+F8键。3.跳出过程此项操作将当前过程中执行点后面的语句全部执行,并将下一执行点定位在调用该过程的语句的下一行。跳出过程有下面3种方法。选择【调试】菜单中的【跳出】命令。单击调试工具栏中的 按钮。按Ctrl+Shift+F8键。,14.3.2 跟踪操作,提示:如果在执行点后面的语句中存在断点,那么跳出过程命令将使程序执行到下一断点。也就是说,断点的级别要高于跳出过程命令。Visual Basic的程序调试技术和错误处理技术是相当完善的,本章只是简单地介绍了程序调试和错误处理的初步知识,目的是为了让用户掌握调试程序的基本方法,并养成良好的编程习惯,为日后的学习和工作打下良好的基础。,14.4 小 结,14.4 小 结,(1)常见的错误有“语法错误”、“运行时错误”和“逻辑错误”。(2)语法错误是存在于代码中的语言结构方面的错误。运行错误是指在运行程序的时候发生的错误。而逻辑错误则不同,它指的是程序可以执行,但就是得不到用户所希望的结果,这是由于程序设计时本身存在的逻辑缺陷而导致的。(3)所谓错误处理,就是提供发生错误时执行的代码,通常包含有错误的探测捕捉和处理,即设置错误的捕捉陷阱、编写错误处理程序和退出错误处理程序。(4)所谓错误捕获就是我们必须在系统发出错误之前,截获错误,在错误处理程序中提示用户采取措施,是解决问题还是取消操作。激活错误捕获功能一般有3种格式:On Error Goto 行号、On Error Resume Next、On Error Goto 0,14.4 小 结,(5)在编制错误处理程序中,我们要针对错误的类型,向用户提供解决的方法,然后根据用户的选择,进行相应的处理。一般我们可以利用Err对象的Number属性和Description属性的值编制错误处理程序,(6)Visual Basic为用户提供了功能强大的调试工具,利用它可以跟踪程序的执行过程,包含【设置断点】、【单步执行】、【显示变量内容】等等,,14.5 思考与练习,1、选择题(1)当语句不符合文法规则时,出现 错误。A.逻辑错误 B.运行时期错误 C.语法错误 D.以上都不对(2)下列陈述中正确的有。中断点只能在设计过程中设置。B.中断点只能在执行过程中设置。C.中断点可以在设计过程中设置,也可以在执行过程中设置。D.中断点可以在设计过程中设置,也可以在执行过程或中断过程中设置。(3)下列属性中,属于Err对象的有。A.Number B.Caption C.DescriptionD.Text,14.5 思考与练习,2、判断题(1)在VB集成环境中只有运行程序才能发现程序错误。()(2)设置错误的捕捉陷阱,指在程序中可能出现错误的地方放置捕捉语句来捕获产生错误的语句。()On Error Resume Next语句的功能是忽略错误,继续往下执行。()3、填空题(1)设置断点快捷键是。(2)VB单步执行的热键是。(3)错误码为11表示发生的错误是。,14.5 思考与练习,4、操作题(1)编写一段程序,如果出现数组下标越界或除数为零错误时,则给出错误的描述。(2)编写一段程序,要求能够对下列代码中的错误进行捕捉处理。For i=1 To 10 For j=1 To 10a(i,j)=100/(i-j)Next jNext i(3)编写向软盘拷贝文件的程序,要求使用错误捕捉的方法,对当软盘不存在,或存储空间已满的异常情况进行处理。,Q&A?Thanks!,

    注意事项

    本文(vb程序调试与错误处理初步.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开