Udostępnij przez


Obsługa błędów administracyjnych COM+

Błędy generowane podczas korzystania z obiektów COMAdmin są zgłaszane na dwa sposoby:

  • Używanie kodów błędów specyficznych dla biblioteki COMAdmin.
  • Korzystanie z rozszerzonych informacji o błędach, które są dostępne w specjalnej kolekcji ErrorInfo.

Kody błędów

Kody błędów administracyjnych są obsługiwane tak, jak w przypadku każdego komunikatu o błędzie COM. W programie Microsoft Visual C++te kody są zwracane jako wartości HRESULT. W programie Microsoft Visual Basic są zgłaszane jako wyjątki, które można przechwycić. W przypadku programistów języka C++ kody błędów administracji COM+ są zdefiniowane w pliku Winerror.h. W przypadku programistów języka Visual Basic są one dostępne za pośrednictwem środowiska IDE języka Visual Basic.

Kolekcja informacji o błędach

Gdy wystąpi błąd, zasygnalizowany przez jakiś kod błędu, bardziej szczegółowe informacje mogą być dostępne w zależności od charakteru błędu. Obiekty COMAdmin udostępniają rozszerzone informacje w sytuacjach, w których dokładna przyczyna awarii jest trudna do określenia bez szczegółowego raportu, na przykład w przypadku wielu operacji odczytu i zapisu.

Na przykład, korzystając z metod takich jak Populate i SaveChanges na obiekcie COMAdminCatalogCollection, można odczytywać lub zapisywać dane dla każdego elementu w kolekcji. Mogą wystąpić skomplikowane błędy i mogą być trudne do zdiagnozowania na podstawie pojedynczego kodu błędu liczbowego. W związku z tym biblioteka COMAdmin udostępnia rozszerzone informacje o błędach za pośrednictwem specjalnej kolekcji.

Po udostępnieniu rozszerzonych informacji o błędzie jest on umieszczany w kolekcji ErrorInfo powiązanej z oryginalną kolekcją, która miała błąd. Aby pobrać raport o błędach, pobierz kolekcję ErrorInfo powiązaną z oryginalną kolekcją i sprawdź zawarte w niej elementy. Kolekcję ErrorInfo można pobrać używając GetCollection w COMAdminCatalogCollection, pozostawiając drugi parametr pusty, gdzie zwykle określa się właściwości Key elementu nadrzędnego.

Po wystąpieniu błędu należy natychmiast pobrać i wypełnić kolekcję ErrorInfo dla kolekcji, która się nie powiodła, bez wykonywania żadnych innych operacji na tej kolekcji. W przeciwnym razie kolekcja ErrorInfo zostanie zresetowana i nie zawiera szczegółów tego błędu.

Elementy w kolekcji ErrorInfo uwidaczniają specjalne właściwości raportowania błędów MajorRef i MinorRef, które szczegółowo opisują określoną przyczynę błędu. Aby uzyskać więcej informacji, zobacz ErrorInfo.

Operacje administracyjne COM+ w ramach transakcji

przykład wprowadzający przy użyciu katalogu administracyjnego COM+

Omówienie obiektów COMAdmin

pobieranie kolekcji w katalogu COM+

ustawianie właściwości i zapisywanie zmian w katalogu COM+