当前位置:  开发笔记 > 编程语言 > 正文

为什么类中的错误只在运行时被捕获?

如何解决《为什么类中的错误只在运行时被捕获?》经验,为你挑选了1个好方法。

我有一个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显示其标准消息框,从那里我可以进入调试模式或结束程序.

为什么会这样?我能预防吗?



1> onedaywhen..:

在VB IDE中,转到"工具","选项","常规"选项卡,"错误捕获"框.我猜你把它设置为'Break on All Errors',而你可能想要'Break on Unhandled Errors'.

你的Err.Raise陈述给我一个编译错误; 尝试删除大括号.

此外,您可能想要使用

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

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

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有