Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c语言中的IErrorInfo# 有一个C++ COM。它有时会在SomeMethod()上抛出一个exeption。C++ COM支持 ISUPPORICATIONFION,填写 IrRoReFiels。如何获取c#中的IErrorInfo.Description_C#_Error Handling - Fatal编程技术网

c语言中的IErrorInfo# 有一个C++ COM。它有时会在SomeMethod()上抛出一个exeption。C++ COM支持 ISUPPORICATIONFION,填写 IrRoReFiels。如何获取c#中的IErrorInfo.Description

c语言中的IErrorInfo# 有一个C++ COM。它有时会在SomeMethod()上抛出一个exeption。C++ COM支持 ISUPPORICATIONFION,填写 IrRoReFiels。如何获取c#中的IErrorInfo.Description,c#,error-handling,C#,Error Handling,此代码捕获错误,但其中没有cpp消息 try { COM.SomeMethod() } catch (COMException exn) { string ACppErrorMessage = exn.message; outputError(ACppErrorMessage); } 根据说明,IErrorInfo的Description字段映射到异常对象的Message,如果HRESULT包含该信息,否则它只填充默认值 如果Message为空,则我只能假设HRE

此代码捕获错误,但其中没有cpp消息

try
{
    COM.SomeMethod()
} 
catch (COMException exn) 
{
    string ACppErrorMessage = exn.message; 
    outputError(ACppErrorMessage);
}
根据说明,
IErrorInfo
Description
字段映射到异常对象的
Message
,如果
HRESULT
包含该信息,否则它只填充默认值


如果
Message
为空,则我只能假设
HRESULT

消息中没有返回任何信息,该消息包含类似:Error的字符串。(Exeption HRESULT:0x80020009(DISP_E_EXCEPTION))
SomeMethod
do做什么?返回一个接口。做一些数学运算(解析公式等等)。你能转换它吗?类似于
(COM作为ISupportErrorInfo)。说明
不要吞下异常中的无用内容,请始终使用
exn.toString()
关闭。这是C++方面的问题,使用iSupFieldFieldFiel.@ DimDoad Cube,可能最好地解释它是什么,因为它可能会帮助其他人。@杰姆斯,不是所有的COM对象在CPP实现它,它只在根一,而不是在其他。(相当愚蠢)