5

我有一个 VB6 应用程序。它正在调用 .NET 代码。.NET 代码有时会根据设计抛出异常。

VB6 在调用 .NET 代码的函数中有一个 On Error Goto 语句。当 .NET 抛出异常时,VB6 代码应处理错误(在 Goto 块中),将 Err.Description 写入日志,并调用 Err.Clear,并应继续执行。

从 Visual Studio 6.0 运行 VB6 应用程序时,这可以正常工作并且符合预期(如上所述)。当我从已编译的 exe 运行 VB6 应用程序时,我在我的 VB6 日志文件中看到了预期的错误……但在错误发生后,VB6 应用程序挂起片刻,然后意外崩溃。事件查看器中甚至没有 APPCRASH 报告。

有关如何解决此问题的任何想法?

4

1 回答 1

1

这听起来确实像一个线程问题,即使您说情况并非如此。我将从 Process Explorer 之类的工具开始,并监视在调用时创建了哪些线程。这可能是无意的。

其次,我也会记录 .NET 代码的成功返回 - 您的代码中可能会出现错误。

于 2012-06-11T17:07:56.883 回答