Udostępnij za pośrednictwem


Wyjątek podczas przetwarzania

Liczba nietypowych warunków błędów nazywane "wyjątkami" może wystąpić, gdy program jest wykonywany.Mogą one obejmować brakiem pamięci, błędy alokacji zasobów i awarii, aby znaleźć pliki.

Biblioteka klas Microsoft Foundation używa programu obsługi wyjątków, która jest modelowana ściśle po jednym zaproponowanych przez Komitet normy ANSI dla języka C++.Procedury obsługi wyjątków należy zdefiniować przed wywołaniem funkcji napotkać anormalnej sytuacji.Jeśli funkcja napotka nienormalne, to zgłasza wyjątek i sterowanie jest przekazywane do procedury obsługi wyjątków.

Kilka makra dostarczane z biblioteki Microsoft Foundation klasy ustanowi procedury obsługi wyjątków.Liczba innych funkcji globalnych pomóc generują wyjątki specjalistyczne i zakończenie programów, w razie potrzeby.Te makra i funkcje globalne dzielą się na następujące kategorie:

  • Makra wyjątek, którego struktura programu obsługi wyjątków.

  • Wyrzucanie wyjątków funkcji, które generują wyjątki określone typy.

  • Funkcje, które powodują zakończenie programu.

Aby uzyskać więcej szczegółów i przykłady, zobacz artykuł Wyjątki.

Wyjątek makra

SPRÓBUJ

Wyznacza blok kodu do przetwarzania wyjątku.

CATCH

Wyznacza blok kodu do łowienia wyjątek od poprzedzającego SPRÓBUJ bloku.

CATCH_ALL

Wyznacza blok kodu do połowu wszystkie wyjątki od poprzednich SPRÓBUJ bloku.

AND_CATCH

Wyznacza blok kodu do łowienia wyjątek dodatkowe typy z poprzednich SPRÓBUJ bloku.

AND_CATCH_ALL

Wyznacza blok kodu do połowu wszystkie inne typy dodatkowe wyjątki generowane w poprzednich SPRÓBUJ bloku.

END_CATCH

Kończy się ostatniego połowu lub AND_CATCH bloku kodu.

END_CATCH_ALL

Kończy się ostatniego CATCH_ALL bloku kodu.

RZUT

Generuje wyjątek określony.

THROW_LAST

Wyświetla aktualnie obsłużył wyjątek do następnego obsługi zewnętrznej.

Wyrzucanie wyjątków funkcji

AfxThrowArchiveException

Zgłasza wyjątek archiwum.

AfxThrowFileException

Generuje wyjątek plików.

AfxThrowMemoryException

Generuje wyjątek pamięci.

AfxThrowNotSupportedException

Generuje wyjątek obsługiwanych przez nie.

AfxThrowResourceException

Generuje wyjątek znaleziony nie zasobów systemu Windows.

AfxThrowUserException

Zgłasza wyjątek w działaniu programu inicjowane przez użytkownika.

MFC zawiera dwie funkcje rzuca wyjątek specjalnie dla wyjątków OLE:

Funkcje wyjątek OLE

AfxThrowOleDispatchException

Zgłasza wyjątek w funkcji automatyzacji OLE.

AfxThrowOleException

Zgłasza wyjątek OLE.

Do obsługi wyjątków bazy danych, klas bazy danych zapewnić dwóch klas wyjątków, CDBException i CDaoExceptioni globalne funkcje do obsługi typów wyjątków:

Funkcje wyjątek DAO

AfxThrowDAOException

Generuje CDaoException z własnego kodu.

AfxThrowDBException

Generuje CDBException z własnego kodu.

MFC zapewnia funkcja następujące rozwiązania:

Zakończenie funkcji

AfxAbort

O nazwie zakończyć aplikację, jeśli błąd krytyczny występuje.

Zobacz też

Informacje

Klasa CException

Koncepcje

Makra MFC i Globals