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

StackOverflow https://stackoverflow.com/questions/65020

  •  09-06-2019
  •  | 
  •  

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

有帮助吗?

解决方案

不,无法在 VB6 中添加全局错误处理程序。但是,您不需要在每个方法中添加错误处理程序。您实际上只需要在每个事件处理程序中添加一个错误处理程序。例如。每个点击事件、加载事件等

其他提示

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

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

我昨天发现了这个工具:

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

它是一款商业产品,支持 VB6 和 VBA 应用程序中的全局错误处理。

它有其成本,但完美地完成了它的工作。我见过其他工具(尽管是免费的)在这个 VB6 mangle 中提供帮助,但是没有一个工具可以像“SimplyVB6 Global Error Handler for VB6”那样涵盖真正的全局错误处理。

使用“SimplyVB6 Global Error Handler for VB6”,无需更改任何现有代码行,也无需对代码行进行编号(通过插件或其他方式)。只需启用全局错误处理(主模块中的一行代码)即可。

“VB6 的 SimpleVB6 全局错误处理程序”:

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top