我正在编写一个COM Interop .NET程序集(一个COM Callable Wrapper),我试图了解正确的方法是传递错误.NET程序集到COM客户端/客户端。我不确定这是否会改变我的问题,但是这个特定的.NET程序集正在使用现有的开源FTP库,并将它的一部分功能暴露给COM。大多数情况下,它是一个简单的“哑巴”包装。从.NET程序集到COM客户端/客户端的处理或传递错误
我猜测编程错误处理的最好方法是在.NET程序集内部有COM客户端/客户可以用来订阅错误事件的公共OnError事件。然后,由COM中的一个编程决定是否使用该事件以及如何处理它。这可能有点危险,因为COM程序员可以省略错误事件处理程序,并且不知道.NET程序集中发生的错误。因为这个.NET程序集应该是非常通用的,我敢肯定,我不希望.NET程序集引发消息框或以其他方式处理错误,而COM消费者几乎没有控制权。
有没有更好的方法来处理这个或一些标准的方式?
这是有道理和工作。我仍然是.NET的新手,我猜想我在搞什么,我一直在看书和看教程,它们清楚地表明,每一段实际上做什么的代码都必须放在try/catch块中。我坐在这里想,现在我已经发现了这个例外,我该怎么办?然后我不得不想出一些疯狂的方案来传递它。这里的简单解决方案是删除我的try/catch块,以便将错误传递给COM客户端/客户端。 – HK1 2011-04-08 15:19:00