0

我有一个带有引发错误的方法的 VB6 类:

Public Sub DoSomething
  ...
  err.Raise 12345, description:="Error message"
  ...
End Sub

这个方法是从一个表单中调用的:

Public Sub ErrTest()
  On Error Goto err1
  obj.DoSomething
  Exit Sub
err1:
  MsgBox err.Description
End Sub

这在运行时工作正常,但在设计时错误处理不起作用。相反,VB6 IDE 显示其标准消息框,我可以从中进入调试模式或结束程序。

为什么会这样?我可以阻止它吗?

4

2 回答 2

5

在 VB IDE 中,转到工具、选项、常规选项卡、错误捕获框。我猜您将其设置为“在所有错误时中断”,而您可能想要“在未处理的错误时中断”。

你的Err.Raise陈述给我一个编译错误;尝试取下牙套。

此外,您可能想使用

Err.Raise vbObjectError + 12345, Description:="Error message"

即从 VB 常量 vbObjectError 中偏移您的错误代码,以确保您不会发生冲突。

于 2008-12-03T10:43:59.237 回答
1

您还可以通过在代码窗口中单击鼠标右键来更改错误捕获选项。“切换”子菜单提供以下选项:

Break on All Errors
Break on Class Module
Break on Unhandled Errors

我发现这比弹出“选项”对话框要容易得多...

于 2008-12-09T19:06:19.437 回答