1 / 23
文档名称:

06 对错误的处理.pdf

格式:pdf   页数:23
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

06 对错误的处理.pdf

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

06 对错误的处理.pdf

文档介绍

文档介绍:下载
第6章对错误的处理
即使程序员抱有最好的愿望,而且计划工作做得非常周密,也无法避免代码出现错误。这
些错误可能是编程员的错误(通常是由错误的假设造成的,比如分母决不能是 0),环境方面的
错误(比如想要保存的文件太大,磁盘上的空闲空间放不下),或者是时间上的错误(比如试
图给尚未完全加载的窗体设置焦点)。应该努力编写没有错误的代码,不过创建每个过程时也
应该假设它可能出现错误。这意味着每个过程必须包含错误处理程序。
实际上可能出现的程序错误的数量是很大的,但是它们基本上可以分为两种类型:一种是
编译错误,另一种是运行期错误。编译错误是指使得 Visual Bacsic的编译器无法对代码进行编
译的错误。如果一个过程中包含了编译错误, Visual Basic将不执行该过程,并且你也不能向用
户提供带有编译错误的运行期版本应用程序。大多数编译错误是句法错误造成的。
例如,如果你试图调用定义为下面这样的过程:
Public Sub MyProcedure(intMyVariable As Integer)
而定义该过程时使用了下面这个语句,那么就会产生一个编译错误,因为在 C a l l语句中增加了
参数:
Call MyProcedure(invVariable1, intVariable2)
运行期错误是在程序运行时产生的,并且通常是试图对变量执行无效操作而产生的结果。
例如,下面这个代码不会产生编译错误(如果 i n t M y Va r i a b l e是个已经说明的变量,那么它的句
法是正确的)。
Print 10 / intMyVariable
在大多数情况下,这个代码甚至不会产生运行期错误。但是,如果 i n t M y Va r i a b l e的值是0,
Visual Bacsic就会产生一个运行期错误而停止运行,因为 1 0不能被0除。如果在I D E中运行一个
项目时出现一个运行期错误,代码就会在出错的代码行上停止运行,并显示一条出错消息。在
已经编译的程序中,未经处理的错误是致命的,它会导致整个应用程序运行瘫痪。通过创建错
误处理程序,那么当出现运行期错误时,就能防止程序运行被中止。
Visual Basic的编译选项
Visual Basic有两个设置项会在很大程度上影响你创建非常坚实的代码的能力。一个设置项
是Compile On Demand(按需要进行编译),pile(后台编译)。
可以打开O p t i o n s对话框,选定G e n e r a l选项卡,然后对这两个设置项进行设置,如图 6-1所示。
pile On Demand时,如果单击工具栏上的R u n按钮,或者按F 5键,Visual Basic
并不全面编译你的项目。相反,只在引用过程时,才对这些过程进行编译。pile On
D e m a n d,通常可使比较大的项目或者速度较慢的计算机上的项目能够更快地启动运行,但是
它也会产生某些不被注意的编译错误。
注意如果按C t r l + F 5键,或者从R u n菜单中选择Start With pile (启动全面编
译),pile On Demand设置项,都会使项目得到全面编译。
第 6章对错误的处理计计61
下载
图6-1 pile On pile
两个选项会影响对错误进行编译的能力
在发现和纠正所有编译错误之前,不能将项目编译成. e x e或. d l l之类的可发布文件,因此,
选定⒉荒芄环⒉即斜嘁氪砦蟮拇搿5牵《后,
会导致编译错误随着时间的推移而不断增加,从而在最后试图进行全面编译时,迫使你对代码
进行大量的纠错。如果在I D E中调试项目,你会变得心烦意乱,因为常常必须停止
(不只是暂停)运行,以便进行纠错操作。这使得调试正在运行的项目时对大量编译错误的纠
正操作变得非常麻烦。如果你的计算机能够在合理的时间内全面编译项目,那么可以考虑关闭
R部梢允保持选定状态,但是要定期按C t r l + F 5键,以
便重新运行你的项目。这使你在编程时能够定期纠正编译错误,而不必一次性纠正大量的编译
错误。
pile On Demand时,也可以决定是否选定 pile选项。如果选定
pile,就可以在过程和模块被引用时对它们进行编译,不过 Visual Basic也使用
空闲时间对尚未引用的模块进行编译。随着时间的推移,项目就可以得到全面编译。使用
pile选项,可以更快地加载未经全面编译的项目,并使编译错误保持在最低水
平,因为你会随时关注未被引用的模块中的错误。同样,你应该知道纠正编译错误常常会

最近更新

绿色创业孵化与区域经济的联动效应 35页

2025年九江职业大学单招职业倾向性考试题库带.. 43页

2025年云南艺术学院马克思主义基本原理概论期.. 13页

高效数据库管理技术 38页

2025年兰坪县招教考试备考题库及答案解析(夺.. 30页

2025年内蒙古兴安盟单招职业倾向性考试题库附.. 45页

2025年务川仡佬族苗族自治县招教考试备考题库.. 31页

2025年南京大学金陵学院马克思主义基本原理概.. 13页

2025年南昌工学院马克思主义基本原理概论期末.. 13页

肥料行业集中度结构分析 35页

网格化纹理映射方法改进 36页

2025年吕梁师范高等专科学校马克思主义基本原.. 12页

网络拍卖平台竞拍规则的法律分析与建议 29页

2025年垣曲县招教考试备考题库附答案解析(夺.. 30页

绿色制造技术在电子元件生产中的实践 25页

2025年天津美术学院马克思主义基本原理概论期.. 13页

网络拓扑边界分析 35页

2025年宁明县幼儿园教师招教考试备考题库附答.. 30页

职业病防治中中医药的智能化应用 35页

2025年山西华澳商贸职业学院单招职业适应性测.. 45页

2025年广西工商职业技术学院单招职业技能测试.. 43页

2025年开封文化艺术职业学院马克思主义基本原.. 12页

2025年抚松县幼儿园教师招教考试备考题库附答.. 30页

胖东来卫生间梳子配置服务实施标准 60页

2025年杭州万向职业技术学院马克思主义基本原.. 12页

2025年武宁县幼儿园教师招教考试备考题库带答.. 31页

2025年江西应用工程职业学院马克思主义基本原.. 13页

2025年浙江科技大学马克思主义基本原理概论期.. 13页

2025年湖北中医药大学马克思主义基本原理概论.. 12页

2025年湖州学院单招职业倾向性测试题库带答案.. 45页