CException

CException jest klasą podstawową dla wszystkich wyjątków w bibliotece Microsoft Foundation klasy. Poniżej wymieniono klas pochodnych i ich opisy:

CMemoryException Limit pamięci wyjątek
CNotSupportedException Wniosek o nieobsługiwana operacja
CArchiveException Wyjątek specyficzne dla archiwum
CFileException Wyjątek specyficzne dla plików
CResourceException Zasobów systemu Windows nie została znaleziona lub nie createable
COleException OLE wyjątek
CDBException Exceptio&nnbsp bazy danych; (oznacza to, że warunki wyjątków wynikających dla MFC database klas w oparciu o Open Database Connectivity)
COleDispatchException OLE (automatyzacji) Wyjątek wysyłania
CUserException Wyjątek, który wskazuje, że nie można odnaleźć zasobu
CDaoException Dane dostępu obiekt wyjątku (oznacza to, że wyjątek warunki wynikające dla klas obiektów DAO)
CInternetException Internet wyjątek (oznacza to, że wyjątek warunki wynikające dla klas Internet).

Wyjątki te są przeznaczone do użycia z rzut, THROW_LAST, SPRÓBUJ, połowu, AND_CATCHi END_CATCH makra. Aby uzyskać więcej informacji dotyczących wyjątków, zobacz Wyjątek przetwarzanialub zobacz artykuł wyjątków w Visual C++ Programmer's Guide.

Do połowu szczególne odstępstwo, należy użyć odpowiedniej klasy pochodnej. Do połowu wszystkich typów wyjątków, użyj CException, a następnie użyj CObject::IsKindOf aby rozróżnić wśród CException-klasom pochodnym. Należy zauważyć, że CObject::IsKindOf działa tylko dla klasy zadeklarowane z makra IMPLEMENT_DYNAMIC , aby wykorzystać typu dynamiczne sprawdzanie. Każdy CException-klasie pochodnej, którą można utworzyć należy użyć makra IMPLEMENT_DYNAMIC zbyt.

Możesz zgłosić szczegóły dotyczące wyjątków od użytkownika przez wywołanie GetErrorMessage lub funkcję ReportError, dwie funkcje Państwa, które działają z którymkolwiek z klas pochodnych CException.

Jeśli wyjątek jest złowionego przez jeden ze makra, obiekt CException jest usuwany automatycznie; nie usuwaj go samodzielnie. Jeśli wyjątek przy użyciu słowa kluczowego połowu , nie jest on automatycznie usuwany. Zobacz artykuł wyjątków w Visual C++ Programmer's Guide , aby uzyskać więcej informacji o tym, kiedy do usunięcia obiektu wszystkich.

CException jest to abstrakcyjna klasa podstawowa. Nie można utworzyć obiektu CException ; należy utworzyć obiekty klas pochodnych. Jeśli trzeba utworzyć własne typu CException , skorzystaj z jednej z klas pochodnych wymienionych powyżej jako model. Upewnij się, że klasa pochodna używa również IMPLEMENT_DYNAMIC.

# include lt;afx.h>

Członkowie klasy |nbsp; Klasa podstawowa | Wykres hierarchii

Próbki  Próbki MFC TEAR

Zobacz też Wyjątek przetwarzania

Index