在我的C#代码中,我希望能够记录COMException
,以便不仅输出HRESULT
的十六进制表示(例如,0x80004005
)而且还输出相应的WinError输出.h定义符号(例如E_FAIL
)。
如果我在异常引用上调用ToString()
,则只有十六进制表示。
是否有内置的方法来获取E_FAIL
- 就像HRESULT
对象中COMException
值的人类可读常量一样?
答案 0 :(得分:5)
使用COMException
的{{1}}属性
HResult
答案 1 :(得分:0)
在FORMAT_MESSAGE_FROM_SYSTEM中查看此处 - http://msdn.microsoft.com/en-us/library/windows/desktop/ms679351%28v=vs.85%29.aspx。它返回有关传递的错误代码的人类可读消息。