mówię do obiektu COM (obiekt Microsoft ADO Recordset). W pewnym przypadku rekordów powróci nieudana (czyli ujemna) HRESULT
, z komunikatem:COM: Jak obsługiwać określony wyjątek?
Przedmiot nie można znaleźć w zbiorach odpowiadającą żądanej nazwy lub porządkowej
wiem co ten komunikat o błędzie oznacza, wiedzieć, dlaczego tak się stało, i jak to naprawić. Ale znam te rzeczy, ponieważ przeczytałem wiadomość, która na szczęście była w języku, który rozumiem.
Teraz chciałbym obsłużyć wyjątek specjalnie. Obiekt COM rzucił HRESULT z
0x800A0CC1
W idealnym świecie Microsoft byłaby udokumentowana what errors can be returned podczas próby dostępu:
records.Fields.Items(index)
z nieprawidłowym indeksu. Ale oni nie; one najbardziej mówią, że błąd może wystąpić, tj .:
Jeśli Przedmiot nie może znaleźć obiektu w kolekcji odpowiadającego indeksowi argumentu, wystąpi błąd.
Zważywszy, że zwrócony kod błędu nie jest udokumentowana, czy to prawidłowe obsługiwać konkretny kod powrotu `0x800A0CC1' kiedy próbuję pułapkę wyjątek:
pozycja nie może być w zbiorach odpowiadającą żądanej nazwy lub porządkowa
?
Ponieważ firma Microsoft nie udokumentowała kodu błędu, ulegają one zmianie w przyszłości.
Dwie identyczne odpowiedzi wspominają, że dokumentacja dotycząca błędów zgłaszanych przez nieruchomość nie jest dokumentowana za pomocą nieruchomości. Ale twoja zostaje zaakceptowana, ponieważ cytowałeś dokumenty i byłeś z nimi związany. Dodatkowo, przy 1k rep zachowujesz zaakceptowane odpowiedzi bardziej niż Hans (Przepraszam Hans, ale to prawda) –