在将控制权返回给 COM 客户端之前全局捕获异常?

问题描述

我的 C# 代码从非托管代码(恰好是 VB6)通过 COM 运行。主要用于调试和记录目的,我想在它们返回到非托管代码之前捕获任何 C# 异常。

相比之下,for other "subsystems" 与 Winforms 和 WPF 一样,可以做这样的事情 - 这两者都提供了一个事件,您可以使用它来处理您认为合适的异常。我猜在这些情况下,您的应用程序代码是从这些子系统作为起点执行的,因此它提供了“钩子”,可以捕获异常并引发相应的事件。

我正在从 COM 互操作“子系统”中寻找类似的东西(如果存在的话)。

This answer 提及:

CLR 在其互操作层中安装了一个捕获所有异常处理程序

上述“互操作层”是否可以访问任何此类事件?或者在异常进入非托管代码之前对其采取行动的其他机制?

注意 - 我没有看到任何关于 COM 提到的 in this very well regarded answer,所以这可能表明这是不可能的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)