estoy hablando con un objeto COM (objeto Recordset Microsoft ADO). En cierto caso, el conjunto de registros devolverá un fallido (es decir, negativo) HRESULT
, con el mensaje:COM: ¿Cómo manejar una excepción específica?
Elemento no se encuentra en la colección correspondiente al nombre solicitado o ordinal
sé qué significa este mensaje de error, saber por qué sucedió y cómo solucionarlo. Pero sé estas cosas porque leí el mensaje, que afortunadamente estaba en un idioma que entiendo.
Ahora me gustaría manejar esta excepción especialmente. El objeto COM arrojó un HRESULT de
0x800A0CC1
En un mundo ideal Microsoft habría documentado what errors can be returned cuando intento de acceso:
records.Fields.Items(index)
con un índice válido. Pero ellos no; que más se suele decir es que un error se puede producir , es decir .:
Si artículo no puede encontrar un objeto en la colección correspondiente al argumento Índice , se produce un error.
Teniendo en cuenta que el código de error devuelto no está documentado, es que correcta para manejar un código de retorno específico del `0x800A0CC1' cuando estoy tratando de controlar la excepción:
elemento no se puede encontrado en la colección correspondiente al nombre solicitado u ordinal
?
Dado que Microsoft no documentó el código de error, técnicamente lo cambia en el futuro.
Dos respuestas idénticas mencionan que la documentación de errores arrojados por la propiedad no está documentada con la propiedad. Pero el suyo es aceptado porque usted citó los documentos y se lo vinculó. Además, con 1k representante, usted mantiene las respuestas aceptadas más que Hans (Lo siento Hans, pero es verdad) –