C# 如何处理变量丢失

C# 如何处理变量丢失,c#,com,variant,C#,Com,Variant,我是C#world的新手。我有一个COM服务器,用C++编写,在某些情况下返回一个变量:: 当我尝试以C#形式接收该值时: 它抛出了一个我无法在C#中处理事件的异常 我该怎么做?用try/catch来包装它: try { object a = comServer.Value; } catch (Exception ex) { // handle the error } 它不起作用。异常最终被C++代码捕获,其中COM事件被触发。如果您单步执行代码,在执行对象a=comServ

我是C#world的新手。我有一个COM服务器,用C++编写,在某些情况下返回一个变量:: 当我尝试以C#形式接收该值时:

它抛出了一个我无法在C#中处理事件的异常


我该怎么做?

用try/catch来包装它:

try 
{
    object a = comServer.Value;
}
catch (Exception ex)
{
    // handle the error
}

它不起作用。异常最终被C++代码捕获,其中COM事件被触发。如果您单步执行代码,在执行对象a=comServer.Value时是否会发生错误?GEOTHOLD的C++代码返回VALIANTIGT::MISSIONE(),但是C?*没有完成行对象A= COMServer的值。因此,在C++中,我不能看到任何东西,因为在C++代码中触发了异常。C++COM服务器触发事件,在这种情况下,C++代码执行此代码,并且异常最终被C++代码捕获,而忽略了C检验捕获部分。
try 
{
    object a = comServer.Value;
}
catch (Exception ex)
{
    // handle the error
}