
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