用C++ 写了个ATL的 COM组件,用C#调用;
怎么给COM里加异常?
求详细解释。

解决方案 »

  1.   

    我还是先研究研究COM日志怎么搞,让他运行时生成日志文件,看看问题出在哪。
      

  2.   

    如果想让程序支持异常,可以打开异常选项啊 (/EHsc)
      

  3.   

    COM类要support Ierrorinfo接口,然后返回HR只要是E_XXX,.net自然就包装成CLR exception,
    和MFC import tlb的效果一样的
      

  4.   

    是要调试COM组件么,在运行时加到你的COM自动化控制器就行了吧。。
      

  5.   

    只要你返回的HRESULT值小于0,就会产生COM的异常。
    如果希望向调用者提供更详细的异常描述信息,就同时实现ISupportErrorInfo接口。
      

  6.   

    支持IErrorInfo接口,然后使用AtlReportError()抛出错误信息。