2008-09-15 38 views

回答

6

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

+0

但是,在一个类中的普通方法,可能会做一些计算,并抛出一个溢出错误呢? – ravi 2008-09-15 17:52:13

+1

在VB6应用程序中,一旦显示表单,与该应用程序的所有交互在调用堆栈的顶部都有一些事件处理程序,正如Brad Richards所说,错误向上传播。唯一需要处理程序的非事件处理程序是Sub Main。 – 2008-09-15 18:13:59

-3

错误恢复下一个 - 有点接近,但它已经有一段时间了。 你可能想查找任何注意事项

1

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

2

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

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

这是一个商业产品,使全局误差在VB6和VBA应用程序中处理:

0

昨天我发现这个工具。

它有它的成本,但完美地完成它的工作。我已经看到了其他工具(免费)帮助VB6破解,但没有一个能够覆盖真正的全局错误处理,如“SimplyVB6全局错误处理程序VB6”。使用“用于VB6的SimplyVB6全局错误处理程序”,不需要更改任何现有代码行,也不需要对代码行进行编号(通过插件或其他东西)。 只需启用全局错误处理(主模块中的一行代码)即可完成设置。

“为VB6 SimplyVB6全局错误处理程序”:

  • 可以显示与真正的模块和函数名调用堆栈,以及显示所述源代码行。
  • 仅适用于P代码编译的VB6程序。
  • 可以通过早期或晚期绑定(无DLL地狱)工作。

我不隶属于任何www.everythingaccess.com方式,只是高兴地发现它昨天下午,在这个问题一种期待再次为我的一个客户是有我们的VB6应用程序错误。我能够在昨天下午测试该工具,与www.everythingaccess.com支持交换电子邮件并获得每封邮件的评估产品。 他们的网站不允许下载VB6产品的评估版本,您必须通过电子邮件发送给他们,但他们在不到一个小时的时间内回复。

相关问题