【发布时间】:2015-04-05 20:05:56
【问题描述】:
我们有一个公开 COM 的 .NET 库。客户端可能是 C# 或旧版 VB6 代码(因此支持 COM)。在运行时我们不知道客户端是 VB6 还是 .NET。
问题是如何进行错误处理。 .NET 客户端可以处理异常,但 VB6 使用不同的错误处理。我们如何才能透明地为这两种意外情况提供合适的错误处理。我们需要 VB6 “On Error” 类型处理才能工作,我们需要 .NET try catch 才能工作。请注意,我们并不总是能够控制客户端代码。
我们是否将所有引发的异常转换为 COM 异常?感谢您的帮助。
【问题讨论】:
-
COM 不支持异常,只支持错误代码。客户端中对 COM 的运行时支持通常会将这些错误代码转换为异常,.NET 和 VB6 肯定会这样做。很难看出你的问题,你试过了吗?
标签: .net exception vb6 interop error-reporting