有人能帮我解码这个HResult吗?这是什么意思?我知道否定代表失败。那剩下的10位呢?
我在这里引用了MSDN HResult文章,但我不确定如何确定我的设施和代码位是什么。
更多信息:
_message: "外部组件抛出异常。"
数据:{System.Collections.ListDictionaryInternal}
我来告诉你怎么做。将负数粘贴到计算器(Windows)的编程模式"Dec"设置中。然后转换为"十六进制"设置。你得到的数字是:FFFFFFFF80004005。错误是80004005,即
0x80004005
E_FAIL
Unspecified
不幸的是,给出此错误的函数的提供程序没有对错误进行分类。
的有用链接:
- MSDN - HRESULT格式
- MSDN - HRESULT错误列表
将其打印为十六进制数,然后使用例如VisualStudio ErrorLookup来获取消息。
另一种方法如下。HRESULT的前32位应该包含一个系统错误码。使用AND操作将从HRESULT:
检索错误代码。int result = (-2147467259 & 0xFFFF)
result
是16389,不属于系统错误码列表的一部分,因此未指定。
-2147467259的十进制是80004005的十六进制(通常表示为0x80004005)。这是"E_FAIL(未指定错误)"在Win32。
不是一个很有用的错误代码,但它可能会让你离解决方案更近半步。