gpt4 book ai didi

error-handling - 为什么类中的错误仅在运行时捕获?

转载 作者:行者123 更新时间:2023-12-03 08:03:54 26 4
gpt4 key购买 nike

我有一个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会显示其标准消息框,从中可以进入 Debug模式或结束程序。

为什么会这样?我可以预防吗?

最佳答案

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

您的Err.Raise语句为我提供了一个编译错误;尝试去掉牙套。

另外,您可能想使用

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

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

关于error-handling - 为什么类中的错误仅在运行时捕获?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/336665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com