Je parle à un objet COM (objet Microsoft ADO Recordset). Dans un certain cas, le recordset retournera un échec (c.-à-négatif) HRESULT
, avec le message:COM: comment gérer une exception spécifique?
article ne se trouve pas dans la collection correspondant au nom demandé ou ordinale
je sais ce que signifie ce message d'erreur, sachez pourquoi c'est arrivé et comment y remédier. Mais je sais ces choses parce que j'ai lu le message, qui était heureusement dans une langue que je comprends.
Maintenant, je voudrais gérer cette exception spécialement. L'objet COM a lancé un HRESULT de
0x800A0CC1
Dans un monde idéal Microsoft aurait documenté what errors can be returned quand j'essaie d'accéder à:
records.Fields.Items(index)
avec un index non valide. Mais ils ne le font pas; ils plus qu'ils disent est qu'une erreur peut se produire, i.e. .:
Si article ne peut pas trouver un objet dans la collection correspondant à l'argument Index , une erreur se produit.
Étant donné que le code d'erreur retourné est pas documenté, est-il correct pour gérer un code de retour spécifique de `0x800A0CC1' quand je suis en train de piéger l'exception:
article ne peut pas être trouvé dans la collection correspondant au nom demandé ou ordinale
?
Étant donné que Microsoft n'a pas documenté le code d'erreur, ils techniquement le modifier dans le futur.
Deux réponses identiques indiquent que la documentation des erreurs générées par la propriété n'est pas documentée avec la propriété. Mais le vôtre est accepté parce que vous avez cité les documents et que vous y êtes lié. De plus, avec 1k rep vous gardez les réponses acceptées plus que Hans (Désolé Hans, mais c'est vrai) –