Obsługa błędów w modelu COM (COM)
Prawie wszystkie funkcje i metody interfejsu COM zwracają wartość typu HRESULT. HRESULT (nazwa może być odczytywana jako "uchwyt wyniku") to sposób zwracania wartości powodzenia, ostrzeżenia lub błędu. HRESULT nie jest w rzeczywistości uchwytem (zobacz Dlaczego HRESULT zaczyna się od H, gdy nie jest to uchwyt do niczego?); jest to tylko wartość z kilkoma polami zakodowanymi w nim. Zgodnie ze specyfikacją MODELU COM wynik zerowy wskazuje powodzenie, a wynik niezerowy wskazuje błąd.
Na poziomie kodu źródłowego wszystkie wartości błędów składają się z trzech części rozdzielonych podkreśleniami. Pierwsza część to prefiks identyfikujący obiekt skojarzony z błędem, druga część to E dla błędu, a trzecia część to ciąg opisujący rzeczywisty warunek. Na przykład STG_E_MEDIUMFULL jest zwracana, gdy na dysku twardym nie ma miejsca. Prefiks stG wskazuje magazyn, E wskazuje, że kod stanu reprezentuje błąd, a MEDIUMFULL zawiera szczegółowe informacje o błędzie. Wiele wartości, które mogą być zwracane z metody interfejsu lub funkcji, są zdefiniowane w pliku Winerror.h.
Aby uzyskać więcej informacji na temat obsługi błędów, zobacz następujące sekcje:
- struktura kodów błędów COM
- kody w usłudze FACILITY_ITF
- używanie makr do obsługi błędów
- obsługa błędów com w językach Java i Visual Basic
- strategie obsługi błędów
- obsługa nieznanych błędów
Tematy pokrewne
-
kody błędów com COM