VB串口通信第七节程序错误处理方法_第1页
VB串口通信第七节程序错误处理方法_第2页
VB串口通信第七节程序错误处理方法_第3页
VB串口通信第七节程序错误处理方法_第4页
VB串口通信第七节程序错误处理方法_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1第四章串口调试软件的开发第七节程序错误处理方法主讲教师:张辉办公地点:北科大机电楼1218A室办公电话系电话mail:

zhanghui56@237.3错误的捕获与退出7.2Err对象7.1VB的编译选项4

在软件开发过程中,无论设计如何周密,都无法避免代码出现错误。从软件工程分析角度考虑,软件已发现的错误与软件本身存在的错误成正比,这些错误基本上可以分为两种类型:一种是编译错误,编译错误是指VB编译器无法对代码进行编译时所产生的错误,大多数编译错误都是句法错误造成的,如果一个过程中包含了编译错误,VB将不执行该过程,而且,作为软件产品,开发者也不可能向用户提供带有编译错误的应用程序,因此,这类错误在代码编写过程中就能被发现和处理。5

另一种是运行期间发生的错误,这种错误可以利用VB的错误处理程序捕获它,对其进行适当的处理,并使程序继续执行,这样就能够使开发的软件具有更强的适应性,这类错误必须通过反复运行程序才能发现,具有一定的隐蔽性,需要用户提供及时的反馈信息,然后对程序进行修改,不断对程序进行完善。67.1VB的编译选项7.1VB的编译选项77.1VB的编译选项VB中有两个设置项在很大程度上影响创建代码的能力。一个设置项是请求时编译(CompileOnDemand),另一个设置项是后台编译(BackgroundCompile)。87.1VB的编译选项97.1VB的编译选项107.2Err对象7.2Err对象117.2Err对象属性或方法属性类型说明NumberLong范围为0~65535,用于保存错误号,用户自定义错误号为vbObjectError+n。SourceString指明错误产生的对象或应用程序的名称。当设置对象的这一属性时,要使用窗体project.class。如果没有指定source,则使用当前VisualBasic工程的程序设计ID。DescriptionString用于记录描述错误的字符串信息。如果没有指定,则检查Number的值。如果可以将错误映射成VisualBasic运行时错误代码,则将Err函数返回的字符串作为Description使用。如果没有与Number对应的VisualBasic错误,则设置为应用程序定义的错误或对象定义的错误。helpfileString与错误相关的VB帮助文件所在的驱动器、路径和文件名,MicrosoftWindows帮助文件的完整限定的路径,在帮助文件中可以找到有关错误的帮助信息。如果没有指定,则VisualBasic会使用VisualBasic帮助文件的完整限定的驱动器、路径和文件名。helpcontextString识别helpfile内的标题的上下文ID,而helpfile提供有助于了解错误的描述。如果省略,则使用处理有关错误的VisualBasic帮助文件的上下文ID,该ID与Number属性对应。Clear用于清除Err对象的当前属性值Raise产生指定错误号的错误,用于调试错误处理程序段127.2Err对象PrivateSubForm_Load()OnErrorResumeNextErr.Raise6'故意产生6号错误(溢出)MsgBox("Error#"&CStr(Err.Number)&""&Err.Description)'显示错误信息Err.Clear'清除设置的错误号MsgBox("Error#"&CStr(Err.Number)&""&Err.Description)'显示错误信息EndSub137.3错误的捕获与退出7.3错误的捕获与退出147.3错误的捕获与退出Err函数返回最近一次运行出现错误所对应的消息。如果没有发生运行错误,或者err.number的属性为0,则Err的description属性返回一个长度为零的字符串("")。(1)捕获错误语句(OnError)使用OnError语句可以捕获错误,其语法格式如下:OnError标号通常,该语句放置在过程的开始位置。在程序运行过程中,当该语句后面的代码出错时,则程序就会自动跳转到标号所指定的程序行去运行,标号所指示的程序行通常为错误处理程序段的开始行。OnError常用的几种使用形式如下所示:1)OnErrorGoToline转到line执行错误处理语句(line参数可以是任何行标签或行号)157.3错误的捕获与退出2)OnErrorResumeNext忽略所有错误,从发生错误的语句的下一语句继续运行。3)OnErrorGoTo0禁止当前过程中任何已启动的错误处理程序。一个使用错误处理的示例:OnErrorGoToErrLine'以后出错时转移至ErrLine...ErrLine:'标号...Resume'返回语句167.3错误的捕获与退出PrivateSubForm_Load()OnErrorResumeNextDimiAsIntegeri=10/0MsgBox("跳至下一句执行")OnErrorGoTo0OnErrorGoToErrLinei=10/0OnErrorGoTo0i=10/0MsgBox("该语句无法执行")ErrLine:MsgBox("跳至标号执行")ResumeNextEndSub177.3错误的捕获与退出PrivateSubForm_Load()OnErrorResumeNextDimiAsIntegeri=10/0MsgBox("跳至下一句执行")OnErrorGoTo0OnErrorGoToErrLinei=10/0OnErrorGoTo0i=10/0MsgBox("该语句无法执行")ErrLine:MsgBox("跳至标号执行")ResumeNextEndSub187.3错误的捕获与退出退出错误处理语句(Resume)

197.3错误的捕获与退出返回语句Resume有三种用法:1)Resume[0]如果错误和错误处理程序出现在同一个过程中,则从产生错误的语句恢复运行;如果错误出现在被调用的过程中,则从最近一次调用包含错误处理程序的过程的语句处恢复运行。207.3错误的捕获与退出2)ResumeNext如果错误和错误处理程序出现在同一个程序中,则从紧随产生错误的语句的下个语句恢复运行;如果错误发生在被调用的过程中,则返回最后一次调用包含错误处理程序的过程(或OnErrorResumeNext语句),从紧随该语句之后的语句处恢复运行。217.3错误的捕获与退出3)Resume标号程序返回到标号处继续执行。除Resume语

温馨提示

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

评论

0/150

提交评论