有没有办法在Visual Basic 6.0应用程序中添加全局错误处理程序?

时间:2008-09-15 17:41:57

标签: vb6

VB 6.0没有任何全局处理程序。为了捕获运行时错误,我们需要在每个方法中添加一个处理程序,我们觉得可能会发生错误。但是,仍有一些地方可能被遗漏。所以,我们最终得到了运行时错误。在应用程序的所有方法中添加错误处理程序,这是唯一的方法吗?

5 个答案:

答案 0 :(得分:6)

没有办法在VB6中添加全局错误处理程序。但是,您不需要在每个方法中添加错误处理程序。您只需要在每个事件处理程序中添加错误处理程序。例如。每次点击事件,加载事件等

答案 1 :(得分:2)

虽然错误确实向上传播,但VB6无法进行堆栈跟踪,因此您永远不知道哪个方法引发了错误。不幸的是,如果您需要这些信息,您必须为每个方法添加一个处理程序,以便记录您的位置。

答案 2 :(得分:1)

另外:错误会向上传播:如果方法X调用方法Y和Z,方法X中的单个错误处理程序将涵盖所有三种方法。

答案 3 :(得分:0)

昨天我发现了这个工具:

http://www.everythingaccess.com/simplyvba-global-error-handler.htm

它是一种商业产品,可在VB6和VBA应用程序中实现全局错误处理。

它有它的成本但完美地完成它的工作。我已经看到其他工具(免费)帮助这个VB6 mangle,但没有一个可以涵盖真正的全局错误处理,如“用于VB6的SimplyVB6全局错误处理程序”。

使用“用于VB6的SimplyVB6全局错误处理程序”,无需更改任何现有代码行,也无需对代码行进行编号(通过插件或其他内容)。 只需启用全局错误处理(主模块中的一行代码)就可以了。

“用于VB6的SimplyVB6全局错误处理程序”:

  • 可以显示具有实际模块和函数名称的调用堆栈,以及显示源代码行。
  • 仅适用于P-Code编译的VB6程序。
  • 可以通过早期或晚期绑定工作(没有DLL Hell)。

我与www.everythingaccess.com没有任何联系,只是很高兴昨天下午找到它,因为我的一个客户在我们的VB6应用程序中遇到了错误,所以再次看到这个问题。昨天下午我能够测试该工具,与www.everythingaccess.com支持交换电子邮件,并获得每封邮件的评估产品。 他们的网站不允许下载VB6产品的评估版,你必须给他们发电子邮件,但他们会在不到一个小时内回复。

答案 4 :(得分:-3)

接下来的错误恢复 - 有点接近,但已经有一段时间了。 你可能想查找任何警告