




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章程序调试与公布发行 本章目的 通过本章学习了解和掌握有关VB程序调试 发布应用程序的方法 第9章程序调试与出错处理 9 1错误类型和程序模式9 2程序调试9 3捕获错误及处理9 3 1Err对象9 3 2捕获错误9 3 3设计错误处理程序9 4程序发布 9 1错误类型和程序模式 调试 在应用程序中查找并修改错误的过程称之为调试 1 错误类型VisualBasic应用程序中出现的错误分为三类 编译错误 运行时错误和逻辑错误 9 1错误类型和程序模式 1 编译错误是指在程序编译过程中出现的错误 产生原因 通常是由于不正确书写代码而产生的 例如关键字写错 遗漏标点符号等 VisualBasic利用自动语法检查功能找出有语法错误的语句 帮助用户纠正语法错误 自动语法检查是在 工具 选项 编辑器 中设置 设置好自动语法检查功能后 只要在代码窗口中出现一个有语法错误的语句 当将光标移到其它语句行时就会立即显示错误提示信息 如图所示 9 1错误类型和程序模式 9 1错误类型和程序模式 2 运行时的错误是指应用程序在运行期间执行了非法操作所产生的错误 例如除法运算中除数为零 打开文件时文件没找到 访问磁盘时驱动器中无盘等 例9 1 下标越界错误PrivateSubCommand1 Click DimA 10 asIntegerDimIasInteger 9 1错误类型和程序模式ForI 0to20A I INextEndSub如图所示 9 1错误类型和程序模式 9 1错误类型和程序模式 3 逻辑错误当应用程序未按预期方式执行时 就会产生逻辑错误 例9 2某程序如下 PrivateSubCommand1 Click DimsummberAsIntegerDimIAsIntegerForI 0to100summber sumber INextPrintsummberEndsub 变量名写错 9 1错误类型和程序模式2 应用程序的模式有三种模式 设计模式 运行模式和中断模式 1 设计模式启动VisualBasic6 0后就进入设计模式 功能 设计窗体布局 绘制控件 编写代码 设计并查看属性等 另外还可以在代码窗口中设置断点 创建监视表达式 但不能在设计模式下使用调试工具 9 1错误类型和程序模式 2 运行模式单击工具栏中的启动按钮或者选择 运行 菜单中的 启动 选项 都可以进入运行模式 功能 同应用程序交换信息 但不能修改程序 3 中断模式功能 分析应用程序的当前状态并修改程序代码 并且所有的调试工具都是在中断模式下运行的 9 1错误类型和程序模式进入中断模式有几种方式 在设计模式下通过设置断点或者使用 stop 语句将应用程序置于中断模式选择 运行 菜单中的 中断 选项 或者单击 中断 按钮将应用程序置于中断模式按下Ctrl Break键来引导程序由运行模式切换到中断模式 应用程序在运行时产生错误 也可以自动切换到中断模式 9 2程序调试是指在应用程序中查找并修改错误的过程 1 调试工具调试工具有 切换断点 逐语句 逐过程 跳出 本地窗口 立即窗口 监视窗口 快速监视和调试堆栈 通过 调试 菜单或调试工具栏可以获得全部调试工具 如图所示 9 2程序调试 9 2程序调试 1 切换断点运行一个程序时 遇到具有断点的代码会中断应用程序的执行 断点设置位置 通常断点被设置在代码中被怀疑可能会出问题的区域 断点可以在中断模式或设计模式下设置 设置断点的方法 通常是在代码窗口中 在要设置断点的那一行代码的左边空白区单击鼠标左键设置 如图所示 9 2程序调试 9 2程序调试设置断点后 VisualBasic将以粗体突出显示设定行 并在该行前面显示一个黑色 或红色 圆点符号 2 逐语句 逐语句执行就是一条语句一条语句的执行代码 通过查看应用程的窗体或调试窗口来判断这条语句是否正确 如果执行的代码是过程调用 也会跟踪到被调用过程中继续一条语句一条语句的执行 3 逐过程 逐过程执行就是以整个函数或过程为一个整体 一次执行下去 9 2程序调试 逐过程与逐语句的相似之处 也是一条语句一条语句的执行代码 不同之处是 当执行的代码是过程调用时 逐语句会跟踪到被调用过程中 而逐过程不会跟踪到被调用过程中 它把被调用过程作为一个整体一次执行过去 9 2程序调试 4 跳出 当用逐语句方法跟踪进入过程或函数中 如果发现过程中的语句没有问题 可以单击 调试 工具栏的 跳出 按钮 从当前的过程中跳出 去执行过程调用者的下一条语句 5 本地窗口 用户在调试程序时可以利用 本地 窗口显示当前过程中所有变量的值 当程序的执行从一个过程切换到另一个过程时 本地 窗口的内容会发生改变 它显示的是当前过程中可用的变量 如图所示 9 2程序调试 9 2程序调试 6 立即窗口功能 可以检查某个属性或者变量的值 还可以执行单个的过程 对表达式求值 或为变量或属性赋值等 显示立即窗口的方法 单击 调试 工具栏上的 立即窗口 按钮 如图所示 9 2程序调试 9 2程序调试在应用程序中输出信息到立即窗口的方法 在print方法前加上Debug即可 例如 var 9command1 caption 演示程序 7 监视窗口功能 对用户定义的表达式进行监视 监视表达式设置方法 在监视窗口中单击鼠标右键 从弹出的快捷菜单中选择所需的功能 监视表达式可以在监视窗口中添加 删除或重新编辑 如图所示 9 2程序调试 9 2程序调试 快速监视功能 检查那些没有在监视窗口中定义的属性 变量或表达式的值 方法 在代码窗口中选中要进行快速监视的表达式 然后单击调试工具栏的 快速监视 按钮 9 调用堆栈功能 显示所有活动过程调用的一个列表 活动过程调用 所谓活动过程调用 就是应用程序已启动但尚未完成的过程 9 2程序调试例9 3完成求1 5这5个数的阶乘 并且将这5个数的阶乘分别存放到数组a 1 a 5 的5个元素中 操作步骤如下 1 新建工程并在窗体上添加一个CommandButton控件 将CommandButton控件的Caption属性设置为 计算 9 2程序调试 2 编写应用程序代码PrivateSubCommand1 Click Dima 5 AsIntegerDimk oAsIntegerFork 1to5a k factor k NextForo 1to5Printa 0 NextEndSub 9 2程序调试Functionfactor xAsInteger AsIntegerDimi tAsIntegert 1Fori 1toxt t iNextfactor tEndFuction 9 2程序调试 3 运行该程序 并单击 计算 按钮 运行结果如图所示 9 2程序调试从运行结果可以看出 结果是不正确的 采取如下步骤检测参数传递是否发生错误 打开代码窗口设置断点 将断点设置在发生函数调用的语句 即将a k factor k 语句设置为断点位置 设置断点后 重新运行应用程序 单击 计算 按钮 程序在断点处中断运行 进入中断模式 如图所示 9 2程序调试 打开调试工具栏 本地窗口和立即窗口 用于监视程序的运行 如图所示 9 2程序调试 单击调试工具栏上的 逐语句 按钮 让程序逐句执行 利用 逐语句 工具逐步运行被调用函数factor 同时观察每个变量的变化情况 经认真分析后 发现被调用函数factor没有出现错误 当流程回到Command1 Click 中时 我们利用立即窗口显示一下a k 的值 显示为1 结果正确 经过上述跟踪检测 发现前面的语句 函数及参数没有错误 那么错误一定在Click事件过程中的For语句中 也就是Printa 0 语句 即将o写成了0 9 3捕获错误及处理9 3 1Err对象错误处理程序的功能 用于处理那些可预见但却无法避免的运行时错误 Err对象主要用于保存最新的运行时错误信息 1 Err对象的常用属性 Number属性为数值类型 记录错误号 Source属性为字符串 记录错误产生者的工程名称 Description属性为字符串 记录简短的错误信息描述 9 3 1Err对象2 Err对象的常用方法 1 Clear方法 清除Err对象的当前属性值 Err对象的属性值在执行了Resume语句或OnError语句后将会被清除 也可以利用Clear方法清除 语句格式为 Err Clear Raise方法 用于产生错误 有助于调试错误处理程序 Raise语句的常用形式为 Err RaiseNumber Source Description 9 3 1Err对象 Raise方法参数说明 Number数值型 指定错误号 范围为0 65535 Source 字符串 指定产生错误的对象 可选项 Description 字符串 错误信息的简短描述 可选项例如 模拟产生驱动器无盘错误Err Raise71 project1 disknotready 9 3 2捕获错误使用捕获错误可以获得错误信息 并调用指定代码处理错误 然后继续执行程序 使用OnErr语句捕获错误 其语法结构为 OnErrorGoto标号通常该语句放在过程或函数的开始位置 如果在过程中激活了错误捕获 只有当过程结束时才停止 如果需要在过程执行中停止错误捕获 可以利用如下语句 OnErrorGoto0执行该语句后 当前过程立即丧失错误捕获功能 9 3 3设计错误处理程序设计错误处理程序一般包括三步 1 设置错误捕获使用Error语句激活捕获 并指引应用程序跳转到标记着错误处理例程开始的标号处 2 编写错误处理程序3 退出处理程序当指定的错误处理完成后 应该指引程序跳转到合适的位置继续执行 Resume语句用于退出错误处理程序 Resume语句有三种用法 Resume ResumeNext Resume标号 9 3 3设计错误处理程序例9 4设计错误处理程序 PrivateSubCommand1 Click DimfnameAsStringDimnumAsIntegerDimstrAsStrin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45505.1-2025平板显示器基板玻璃测试方法第1部分:外观与几何尺寸
- 物业服务企业绩效考核实施方案
- 2025年游戏开发行业招聘面试模拟题集及答案解析
- 2025年金融投资从业者必-备资质考试预测试题及答案
- 危废泄漏专项应急处理方案(范文示范)
- 2025年融媒体编辑笔试题目解析
- 2025年道路运输企业安全生产管理人员作业考试题库(附答案)
- 2025年注册验船师资格考试(A级船舶检验专业基础环境与人员保护)测试题及答案一
- 2026届海南省儋州市一中高一化学第一学期期中教学质量检测模拟试题含解析
- 2025年可持续发展与环境管理考试试题及答案
- 2025年陕西高考化学试卷试题真题及答案详解(山西宁夏青海适用)
- 子宫腺肌症教学护理查房
- 中国可见光通信项目创业计划书
- 五金件盐雾测试报告
- JG/T 8-2016钢桁架构件
- 2023年河北省中考数学真题(原卷版)
- 2024年全国工会财务知识大赛备赛试题库500(含答案)
- 浅析人物形象构建:从心理学角度解析角色性格与行为表现
- 数学史课件教学课件
- 2025年军事专业基础知识考核试题及答案
- 临床成人经鼻高流量湿化氧疗技术规范
评论
0/150
提交评论