- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章调试与错误处理
调试与错误分类 新教材 第9章 9.1 程序错误分类 9.1.1 编译错误 编译错误多数是因为不正确的代码产生的,即在编写程序时写了有错误的语法代码,从而导致VB编译器无法正确解释源代码而产生错误,一般包括关键字拼写错误、标点符号遗漏,语句搭配不当等。比如以下代码,将Dim错误地写成了Dimm,就会产生编译错误。 Private Sub From_Load Dim Mystr As String Dimm I As Integer End Sub 9.1.2 实时错误 实时错误是指应用程序出现期间,一条语句试图执行一条不可能执行的操作而生的错误。例如下面的语句: Private Sub Form_Load() x = 0: y = 100 Print y / x End Sub 这段语句在语法上是正确的,VB编译器不能检测出错误,因此不会产生编译错误。但等到实际运行时,当除数Number等于0时,就会出现实时错误。 9.1.3 逻辑错误 逻辑错误是指程序的运行结果和程序员是设想有出入时产生的错误。这类错误并不导致程序在编译期间出现错误,较难发现,验证程序是否存在逻辑错误的唯一方法就是将运行结果与设计方案进行对照比较。比如你想用以下格式显示一段诗: 程序员用下列语句实现上述设计: Private Sub Form_Load() MsgBox 床前明月光,疑是地上霜; + _ 举头望明月,低头思故乡。, vbOKOnly, _ 静夜思 End Sub结果出现逻辑错误。 正确的语句应为: Private Sub Form_Load() MsgBox 床前明月光,疑是地上霜; + Chr(13) + _ 举头望明月,低头思故乡。, vbOKOnly, _ 静夜思 End Sub 注意:逻辑错误通常不会产生消息提示。 P226 习题 一、问答题 5. VB程序错误大体可分为哪几种,它们的含义是什么? 答:VB程序错误大体分为三种:编译错误、实时错误和语法错误。 编译错误是在编写程序时书写了有错误的语法的代码,导致VB编译器无法正确解释源代码而产生的错误,也称语法错误。实时错误是指在运行期间,一跳语句试图执行一条不可能执行的操作而产生的错误,也称运行时错误。逻辑错误是指程序的运行结果和程序员的设想有出入时产生的错误。 9.2 程序调试方法 VB本身不能改正错误,但它提供了一些调试工具辅助程序员查找,分析错误。有了调试工具,程序员就能够深入到应用程序内部,彻底地了解发生了什么,以及为什么会发生。 9.2.1 用编译器提示错误 VB集成环境提供了“自动语法检测”功能,可以在程序员编写程序时自动检测和提示语法错误。如果使用了该选项,那么程序员每书写完一行语句并键入回车符时,VB编译器就会解释该行语句。当发现错误时,就会加亮显示出现语法错误的语句并显示一个消息框来解释错误原因并提供帮助,以方便程序员更正错误。 在“工具”菜单上,单击“选项”子菜单,可以设置或消除“自动语法检测”选项。 P226 习题 二、程序设计题 1.程序改错。以前面学到的冒泡排序算法为例,开发以下程序,请上机练习排除其中的错误。 P226 习题 二、程序设计题 1.程序调试。 (1)运行程序,结果如下: P226 习题 二、程序设计题 1.程序调试。 (2)分析错误原因: For c = 1 To 20 For j = c + 1 To 20 If A(c) A(j) Then ’若前者大于后者 T = A(j) ’T暂存小数 A(j) = A(c) ’后者暂存大数 A(j) = T ’此语句应改为A(c)=T End If Next Next P226 习题 二、程序设计题 1.程序调试。 (3)修改后的程序: P226 习题 二、程序设计题 1.程序调试。 (4)程序修改后运行结果: 9.2.2 使用调试工具来发现和改正错误
原创力文档


文档评论(0)