VB程序错误处理方法小结[多图]
日期:2007年6月7日 作者: 相关tags: VB 程序 错误 处理 方法 小结- [1] [2] [3] 下一页
- 盗QQ号码方法大全
- 完全手册Excel VBA典型实例全集:通过368个例子掌握
- 电脑键盘的使用方法和执法训练
- 用软件方法 实现水星路由器升级
- Win7下玩CF无法全屏的解决方法
- 步骤 19 (用户验证软件) 上有故障: HRESULT = 0x00000000 (错误码)
- 木马病毒下载恶意程序
- 腾讯(国外QQ)靓号申请,使用,下载方法
- Setup Factory安装程序制作工具 v9.03绿色版
- 大学生学习方法十二讲
- 手机RMVB播放器 s60v5
- 双显QQIP整合版(qqip地址显示程序) V2011.8 绿色版
- XP批处理优化 2.2
- 南方起名程序 V8.5
- 千彩手写板驱动程序 7.6
- 二十以内加减法练习程序
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
大家知道,即使程序员抱有最好的愿望,而且计划工作做得非常周密,也无法避免代码出现错误。实际上可能出现的程序错误是很多的,但是它们基本上可以分为两种类型:一种是编译错误;另一种是运行期错误。编译错误是指使得Visual Bacsic(下面简称VB)的编译器无法对代码进行编译的错误。如果一个过程中包含了编译错误,VB将不执行该过程,并且我们也不能向用户提供带有编译错误的运行期版本应用程序,大多数编译错误是句法错误造成的。
一、VB的编译选项
VB有两个设置项会在很大程度上影响我们创建非常坚实的代码的能力。一个设置项是Compile On Demand(按需要进行编译),另一个设置项是Background Compile(后台编译)。可以打开Options对话框,选定General选项卡,然后对这两个设置项进行设置,如下图1所示。当选定Compile On Demand时,如果单击工具栏上的Run按钮,或者按F5键,VB并不全面编译我们的项目。相反,只在引用过程时,才对这些过程进行编译。使用Compile On Demand,通常可使比较大的项目或者速度较慢的计算机上的项目能够更快地启动运行,但是它也会产生某些不被注意的编译错误。
在发现和纠正所有编译错误之前,不能将项目编译成.exe或.dll之类的可发布文件,因此,选定Compile On Demand并不能够发布带有编译错误的代码。但是,选定Compile On Demand后,会导致编译错误随着时间的推移而不断增加,从而在最后试图进行全面编译时,迫使我们对代码进行大量的纠错。如果在IDE中调试项目,VB常常必须停止(不只是暂停)运行,以便进行纠错操作。这使得调试正在运行的项目时对大量编译错误的纠正操作变得非常麻烦。如果能够在合理的时间内全面编译项目,那么可以考虑关闭Compile On Demand。也可以使Compile On Demand保持选定状态,但是要定期按Ctrl+F5键,以便重新运行我们的项目。这使我们在编程时能够定期纠正编译错误,而不必一次性纠正大量的编译错误。![VB程序错误处理方法小结[多图]图片1](http://www.vipcn.com/uploadImages/2007-5-1/20075122173847502.jpg)
图1 编译时选中Compile On Demand和Background Compile两个选项
二、Err对象
在能够编写有效的错误处理代码之前,我们必须了解VB的Err对象,这是个运行期对象,它包含了关于最新错误的信息。当程序运行时遇到一个错误,或者当我们使用Err对象的Raise方法故意引发一个错误时,便形成Err对象的属性。当遇到On Error语句(比如On Error Resume Next),并且在使用Exit Sub、Exit Function或Exit Property语句退出一个过程后,Error对象的属性值就被清除。若要显式清除Err对象,可以调用它的Clear方法。下表1列出了Err对象的属性。
将一个项目当作已经编译的程序运行时,未捕获的错误会造成致命的后果,它们会导致程序终止运行。必须尽一切努力防止发生这种情况。若要防止代码中的错误中断代码的运行(并终止已编译程序的运行),我们可以创建错误处理程序以捕获代码中的错误。当捕获一个错误后,VB并不显示出错消息,也不终止代码的运行。相反,我们编写的专门用来处理错误的代码则开始运行。每个过程都应该拥有错误处理程序,而不管它包含多大的代码量。最好在代码中放入一个On Error语句,作为代码的第一行,放在紧靠过程标题的后面和变量说明的前面。如果一个过程的错误能够以这种方式出现,就应该在过程的开头用突出的注释来明确说明这一行为特性。
若要捕获错误,基本上可以使用下面两种方法:
当出现错误时,使用On Error GoTo,转移到别的代码上去执行。
使用On Error Resume Next语句,不中断代码的执行,也不转移到别的代码上去执行,而是忽略该错误。
可以在一个过程中创建多个错误处理程序,但每次只能激活一个错误处理程序。VB将最新的On Error语句中指明的处理程序视为已经激活的错误处理程序。切换一个过程中的不同位置上的错误处理程序,往往是很有好处的,理解各个错误处理程序如何运行,是利用这一功能的关键。
