欢迎来到天天文库
浏览记录
ID:38519848
大小:232.50 KB
页数:51页
时间:2019-06-14
《VB_DESK_T4_北大青鸟VB学习教材》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于VB的桌面系统开发方案错误处理和类的概念课题目标了解错误类型掌握如何处理运行错误了解Err对象的使用及其属性和方法了解VisualBasic中的类和类模块掌握如何创建一个类错误类型错误说明语法错误在输入的语句不正确时发生。例如:关键字拼写错误、标点符号的缺失或者变量名拼写错误。例如:在使用If语句时没有相应的EndIf进行匹配导致一个语法错。将运行错误在一个命令企图执行一个无效的动作时发生。例如:在企图把一个字符串赋值给一个数字类型的变量时发生运行错。在运行错发生时会激活错误处理程序。逻辑错误在程序既没有语法错也没有运行错的情况下执
2、行程序得到的结果却不是正确的结果时,我们说发生了逻辑错。例如:应用程序要求用户提供口令,可是口令是正确的时候却不能进入应用程序,这时就说发生了逻辑错误理解“错误”的概念缺省的错误处理可以提供给用户出现错误的编号和对错误的一段简短描述并自动终止应用程序在自己编写的代码中对错误进行处理处理运行错误的代码称为“错误处理程序”运行错误下面是一些可能产生运行错误的情况:向一个不存在文件写入数据企图向一个已经被关闭的表进行查询把一个数字类型的变量赋给一个字符串类型的变量。除数为零运行错误(续)错误编号原因5无效过程调用6溢出7内存不足9下标越界11
3、除数为零13类型不匹配53文件不存在55文件已经打开58文件已经存在76路径不存在423属性或者方法不存在482打印机错误运行错误(续)VisualBasic不支持集中错误处理技术每一个过程或事件都要求有一个错误处理程序来解决一个它自己的错误错误处理步骤启用一个错误处理程序编写对可能发生的错误进行处理的代码继续程序的运行错误处理程序通过启用错误处理程序来对运行错误进行处理在过程中使用OnErrorGoTo语句加一个命名的标号来激活错误处理程序标号用来指出错误发生时程序转向错误处理程序的入口这部分代码称为“错误处理程序”命名和变量的命名一
4、样以冒号结尾放在过程的ExitSub语句之后错误处理程序(续)下面的DataErr错误处理程序实现对数据溢出错误的处理:PrivateSubCommand1_Click()OnErrorGoToDataErrDimnumAsInteger,varAsIntegernum=10var=num*10000PrintvarExitSubDataErr:MsgBox"Trymultiplyingwithasmallerinteger"EndSub使用Err对象报告错误,包含和运行错误相关的信息可以帮助确定发生的错误类型、原因和错误发生的地方属性
5、是由错误发生者设置的Err对象的属性属性说明Number返回或设置标识错误的编号。它是Err对象的缺省属性。它可以用来确定是哪一个错误发生了,它的值是错误的唯一标识。语法格式:Object.NumberDescription返回或设置用来对错误进行描述的字符串。语法格式:Object.DescriptionSource返回或设置产生错误的应用程序的名字的字符串。当一个意外错误发生时,这个值被自动设置。语法格式:Object.SourceErr对象的属性(续)HelpFile返回或设置一个包含指向帮助文件所在位置的路径的字符串。语法格式:
6、Object.HelpFileHelpContext返回或设置包含帮助文件中有关主题的上下文ID的字符串。语法格式:Object.HelpContextErr对象的方法方法说明Clear方法在错误被处理后清除Err对象的所有属性的值。使用Resume语句或OnError语句之后或是结束一个子程序块或一个函数过程之后都会自动调用这个方法。语法格式:Object.ClearRaise方法这个方法用来产生一个错误。它是在测试和评估的时候使用的。这样可以主动地产生错误,以便在程序其他地方的错误处理程序来对它进行处理。语法格式:object.Ra
7、isenumber,source,description,helpfile,helpcontext除了number以外的所有参数都是可选的继续执行应用程序用Resume语句来实现继续运行程序三种Resume语句:语句说明Resume程序从产生错误的语句开始接着运行ResumeNext程序从产生错误的语句的下一条语句接着运行Resumeline从Resumeline语句后指定的标号或是行号处开始运行程序,注意标号或是行号指定的语句必须和错误处理程序在同一个过程中捕获错误对程序中发生的错误进行捕获当执行一个标志着错误处理程序开始的OnEr
8、ror语句时就引发了对错误的跟踪当执行到ExitSub、ExitFunction、ExitProperty、EndSub、EndFunction或EndProperty语句时就意味着跟踪的结束可以使用On
此文档下载收益归作者所有