:调试类模块
调试类模块与调试普通应用程序有一些区别。这是因为类模块的属性或方法中的错误,都是可处理的。(即,在调用栈中总有一个能处理该错误的过程,该过程要调用该类模块的属性或方法。)
为了补偿这些区别,Visual Basic 除了提供以前的在无法处理错误点时中断和在所有错误点中断选项之外,还提供了类模块内的可捕获错误中断选项。
注意可以在“工具”菜单下“选项”对话框的“通用”选项卡中设置缺省的错误捕获状态。所选择的选项影响当前的会话期,并且变成 Visual Basic 的所有后续实例的缺省状态。改变设置只影响当前会话期,不影响缺省状态,从“代码窗口文本”菜单选择“切换”(在“代码”窗口上单击鼠标右键)。
例如,假设类模块 Class1 包含以下代码:
Public Sub Oops()
Dim intOops As Integer
intOops = intOops / 0
End Sub
假设在其它类模块、窗体或标准模块中有一个过程调用成员 Oops:
Private Sub Command1_Click()
Dim c1 As New Class1
c1.Oops
End Sub
如果可捕获错误选项设为在无法处理错误点时中断,程序将不会停止在被零除的地方。相反该错误能在调用过程 Command1_Click 中发生,程序将在调用 Oops 方法处停止。
可以设置在所有错误点中断来使程序停止于被零除,但对大多数应用来说设置在所有错误点中断很不方便。这样做每遇到一个错误就会停下来,即使已经编写了错误处理程序。
类模块内中断是折衷的设置:
- 已编写了错误处理的地方,执行将不会停止在类模块中。
- 执行只停止于类模块中不能处理的错误上,并返回到方法的调用处。
- 启动 Visual Basic 开发环境后,缺省地设置为类模块内中断。
- 如果没有使用类模块,在类模块内中断与在无法处理错误点时中断完全相同。
提示使用类模块内的中断或在无法处理错误点时中断,当遇到中断点时,可以按ALT+F8 键或 ALT+F5 键单步或跳过运行该错误,即进入自己编写的错误处理代码或进入在其中发生错误调用过程的代码中。
详细信息在第十三章“调试代码和处理错误”中将详细讨论调试。在“调试代码和处理错误”中将详细讨论调试。