2014-03-18 70 views
27

有人可以幫我解碼這個HResult嗎?這是什麼意思?謝謝。解碼HResult = -2147467259

我知道失敗的負面立場。

其餘的10位呢?

我引用msdn HResult文章here,但我不知道如何確定我的設施和代碼位是什麼。謝謝。

更多信息: _message:「外部組件已引發異常。」 Data:{System.Collections.ListDictionaryInternal}

+0

我得到這個錯誤,當我試圖發回一些比平常更多的數據。這可能是錯誤的根源嗎?數據太多? – CYC0616

+0

也許吧。很難說。你可以發佈一個[小的,獨立的例子,重現問題](http://stackoverflow.com/help/mcve)?如果是這樣,請在此處發佈。更好的是,用這些信息發佈一個不同的問題。 –

+0

謝謝大家回答我的問題。我深入挖掘,發現錯誤是由於超過了aspnet的最大數量:MaxHttpCollectionKeys。增加這個數字將修復錯誤。 – CYC0616

回答

59

我會告訴你如何去做。在編程器模式「Dec」設置中將負數粘貼到Calculator(Windows)中。然後轉換爲「十六進制」設置。你得到的號碼是:FFFFFFFF80004005。該錯誤是80004005是:

0x80004005 
E_FAIL 
Unspecified 

,給了你這個錯誤沒有歸類錯誤的函數的不幸的是,供應商。

相關鏈接:

  1. MSDN - HRESULT Format
  2. MSDN - HRESULT Error List
+1

+1。一些讀者注意到:(1)確保包含減號,最簡單的方法是從0中減去數字並按下'='(2)如果選擇了DWORD,它將去掉多餘的'FFFFFFFF'部分給你。 –

+0

此外,對於錯過Stephen Cleary對這個問題的評論的人來說,更容易的選擇:https://errorcodelookup.com/?type=hresult&code=80004005 –

+0

非常好的答案! :-) – GTAVLover

2

將其打印爲十六進制數,然後使用例如VisualStudio ErrorLookup來獲取消息。

2

-2147467259十進制爲80004005十六進制(通常呈現爲0x80004005)。這是Win32中的"E_FAIL (Unspecified error)"

不是一個非常有用的錯誤代碼,但也許它會讓你更接近解決方案。

2

另一種方式來做到這一點如下。 HRESULT的前32位應該包含System Error Code。使用與操作,將從HRESULT檢索錯誤代碼:

int result = (-2147467259 & 0xFFFF) 

result是16389,這不是System Error Codes列表的一部分,並作爲一個結果,是不確定的。