问题
Can someone help me decode this HResult? What does it mean? I know the negative stands for a failure. How about the rest of the 10 bits?
I referenced MSDN HResult article here, but I am not sure how to determine what my facility and code bits are.
More info:
_message: "External component has thrown an exception."
Data: {System.Collections.ListDictionaryInternal}
回答1:
I'll show you how to do it. Paste the negative number into Calculator (Windows) in programmer mode "Dec" setting. Then convert to "Hex" setting. You get the number: FFFFFFFF80004005. The error is 80004005 which is:
0x80004005
E_FAIL
Unspecified
Unfortunately the provider of the function that gave you this error did not categorize the error.
Useful links:
- MSDN - HRESULT Format
- MSDN - HRESULT Error List
回答2:
Print it as an hexadecimal number, then, use for instance, VisualStudio ErrorLookup, to get the message.
回答3:
-2147467259 in decimal is 80004005 in hexadecimal (usually rendered as 0x80004005). That's "E_FAIL (Unspecified error)" in Win32.
Not a very helpful error code, but maybe it'll get you a half-step closer to a solution.
回答4:
Another way to do it is as follows. An HRESULT should contain a System Error Code in its first 32 bits. Using an AND operation will retrieve the error code from the HRESULT:
int result = (-2147467259 & 0xFFFF)
result
is 16389, which is not a part of the System Error Codes list, and as a result, is unspecified.
来源:https://stackoverflow.com/questions/22493524/decode-hresult-2147467259