Is there a way to add global error handler in a visual basic 6.0 application?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",无需更改任何现有代码行,也无需对代码行编号(通过插件或其他方式)。 "SimplyVB6 VB6 全局错误处理程序":
我与 www.everythingaccess.com 没有任何关系,只是很高兴昨天下午找到了它,我的一个客户在我们的 VB6 应用程序中遇到了错误,因此再次考虑了这个问题。昨天下午我能够测试该工具,与 www.everythingaccess.com 支持交换电子邮件,并通过邮件获得评估产品。 on error resume next - 有点接近但已经有一段时间了。 |