调试程序和错误处理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
续,要用到Resume语句,Visual Basic使用 三种Resume语句,如果没有Resume语句, 过程将退出。
+ 相对于建立单独的错误处理程序,你也许
更愿意在错误出现后立即着手处理它。On Error Resume Next语句使程序在产生错误的 行的下一行继续执行。可以用适当的方式 立即处理发生的错误或者忽略错误。
+ 当运行自定义解决方案时,可以用本地窗
口监视变量的值,本地窗口显示所有已声 明的变量以及当前过程的值。当本地窗口 可见时,则每当代码执行被中止,它就会 自动更新。 + 本地窗口显示信息分为表达式、值、类型 三列。
+ 如果想在代码运行时监控一个表达式,可
以设置一个监视表达式,可以是一个变量、 一个属性、一个函数调用或者任何其它有 效的表达式。 + 在VBA中,有三种监视类型:监视表达式、 当监视值为真时中断,当监视值改变时中 断。
+ Resume语句可以退出错误处理程序。
Resume语句有三种形式:Resume 0、 Resume Next、Resume 语句标号。
+ 在错误处理代码中,要用到Err对象的属性
和方法来检查发生的是什么错误,以及清 除错误值或者引发一个错误。 + Number属性——表示最近发生的一个错误。 + Description属性——一个字符串,包含对错 误的说明。 + Raise方法——触发指定错误号的运行阶段错 误。
+ 应用程序调用了几个过程时,错误处理程
序变得复杂,如果一个被调用的过程没有 激活错误处理程序,它会把遇到的错误返 回给调用过程。 + Err对象的Raise方法引发一个错误。可以用 Raise方法返回一个错误给调用过程,或者 用它来测试错误处理代码。
+ 可以用If语句或Select Case语句按照Err对象
的Number属性分别对各种错误进行相应处 理。
+ 设置一个错误捕获陷阱,指定错误处理代
码的位置。 + 处理错误,可以解除导致错误的问题,显 示错误信息,让用户来解决问题,也可以 退出应用程序。 + 退出错误处理代码。
+ 为了指定应用程序处理完错误后在何处继
Debug e gestione degli ቤተ መጻሕፍቲ ባይዱrrori
+ 程序设计中通常发生三种不同类型的程序错误。 + 代码书写不正确时,发生语法错误。VBA有自
动语法检查功能。当写下代码时,它能发现和 纠正语法错误。当它查到错误时,VBA突出显 示这个代码,同时出现一个提示框,解释错误 和提供帮助。 + 当一个语句试图执行一个非法操作时,会发生 运行时错误。如除式为零,打开不存在的文件, 用了一个无法访问的对象等。 + 当一个应用程序不能以它想要的方式实现时, 会发生逻辑错误。
+ VBA提供了一套丰富的调试工具,它们能帮
助用户纠正解决方案中发生的错误。通过 使用调试工具,可以更快地去寻找代码中 可能存在的逻辑错误。 + 应用程序处于设计模式、运行模式或中断 模式。在VBA编辑器顶部的标题栏左端显示 出当前所处的模式。
+ 在中断模式中,程序代码的执行被挂起,当VBA遇
到导致它进入中断模式的情况时,它将停止代码执 行,切换到Visual Basic编辑器状态。这时,VBA保存 变量和属性设置,可以监视变量、属性和语句的值, 改变变量或属性的值,改变变量和属性的值,也可 以调用其它过程。 + 可以通过使用Visual Basic编辑器中的设置断点功能 或在代码中设置Stop语句来设置断点。当应用程序 执行到一个断点时,它将进入中断模式。 + 进入中断模式后,通过使用【逐步】命令集中的一 个命令,可以用Visual Basic编辑器中的调试工具栏 单步执行代码,一次运行一行代码并监视结果。
+ 立即窗口显示代码中的调试语句所产生的信息,或者是 +
+
+
+
在这个窗口中直接键入的命令语句所显示的信息。 在立即窗口中,通过跟踪代码运行时一个值的历史记录, 可以检查逻辑错误。在调试或者试验代码时,还可以测 试过程,计算表达式的值,或者给变量、属性赋新值。 在立即窗口中,可以调用过程或者计算有效表达式来显 示它们的值。 立即窗口的范围只限于当前过程。这个范围包括在当前 过程中已经声明的所有局部变量、当前代码模块已经声 明的模块变量以及所有全局变量。超出范围的变量和属 性不会显示。 要把输出发送到立即窗口,可以使用Debug对象的Print 方法,来创建一个变量值或属性值的历史记录。当代码 执行中断或完成时,可以查看这些显示值。
+ 调用堆栈可以创建一个过程列表去跟踪几
个过程的代码流,通过使用这个工具,可 以验证代码是不是按正确的过程的顺序执 行。 + 一个过程调用第二个过程,而第二个过程 又调用第三个过程,这些嵌套过程调用跟 踪起来很困难,所以调用堆栈有助于显示 过程间的代码流。在Visual Basic编辑器中, 单击【调用堆栈】按钮,可以显示调用堆 栈。
+ On Error语句用于设置陷阱,指出若出现错
误应该怎样响应。除了On Error Go To外, 还有On Error Resume Next形式,On Error Go To 0可以关闭陷阱,它只对当前过程起作用, 每个过程都要设置自己的On Error语句。一 个过程的不同位置可以有几个On Error语句。