我正在与COM对象(Microsoft ADO Recordset对象)交谈。在某些情况下,记录集将返回失败的(即否定的)HRESULT,并显示以下消息:



我知道此错误消息的含义,知道它为什么发生,并且我如何解决它。但是我知道这些事情是因为我阅读了消息,所幸的是我所理解的语言。

现在,我想专门处理此异常。 COM对象引发了HRESULT

0x800A0CC1

在理想情况下,当我尝试访问时,Microsoft会记录what errors can be returned:
records.Fields.Items( index )

索引无效。但是他们没有。他们最常说的是会发生错误,即:



鉴于未记录返回的错误代码,当我 try catch 异常时,处理特定的返回代码'0x800A0CC1'是正确的吗:





由于Microsoft没有记录错误代码,因此他们将来会在技术上进行更改。

最佳答案

他们确实记录了此错误代码,但是很难找到:
ErrorValueEnum:

adErrItemNotFound    3265 -2146825023 0x800A0CC1    Item cannot be found in the collection that corresponds to the requested name or ordinal.

..so,因为它是有文件记录的错误代码,因此可以对其进行显式测试是安全的。

10-05 23:01