代码之家  ›  专栏  ›  技术社区  ›  rmeador

如何处理C++加载的C~*DLL中的异常

  •  4
  • rmeador  · 技术社区  · 16 年前

    我有一个在C中创建的DLL,目的是为第三方C库提供一个COM接口。我有一个C++程序,它使用那个COM接口,以便它可以与C语言库通信。有时,异常会被抛出到C端,而我回到C++端的所有结果都是COM调用的结果,意思是“异常发生”(或某种影响)。有没有办法让我得到整个异常信息,这样我就可以打印一个信息性的消息给我的C++应用程序的日志?如果不是,在C触发器上我能做什么来拦截所有异常,然后触发任何机制将HESREST返回C++,这样我就可以登录到C?

    1 回复  |  直到 16 年前
        1
  •  4
  •   Hans Passant    16 年前

    存在托管异常到hresult的映射。查阅中的表格 this MSDN article . .NET从具有IErrorInfo的COM对象中检索错误信息。这也可能在另一方面起作用。值得一试。