Sdílet prostřednictvím


Zpracování výjimek

Když je spuštěn program, může nastat několik mimořádných podmínek a chyby se nazývají "výjimky".Patří k nim vyčerpání paměti chyby alokace zdrojů a neschopnost najít soubory.

Knihovny Microsoft Foundation Class používá schéma zpracování výjimek, který je modelována po jedné navržené výborem pro normy ANSI pro jazyk C++.Popisovač výjimky nutné nastavit před volání funkce může dojít k mimořádné situaci.Pokud funkce zjistí neobvyklý stav, vyvolá výjimku a řízení je předáno obslužnou rutinu.

Několik maker, které jsou součástí knihovny Microsoft Foundation Class nastavit obslužné rutiny výjimek.Počet dalších globální funkce pomáhají vyvolat zvláštní výjimky a ukončit programy, v případě potřeby.Tyto makra a globální funkce lze rozdělit do následujících kategorií:

  • Výjimka makra, které struktury vaše obslužná rutina výjimky.

  • Vyvolání výjimky funkce, které generují výjimky určitých typů.

  • Ukončení funkce, která způsobí ukončení programu.

Příklady a další informace naleznete v článku výjimky.

Výjimka makra

ZKUSTE

Určuje blok kódu pro zpracování výjimek.

CATCH

Určuje blok kódu pro lov výjimku z předchozí akci blok.

CATCH_ALL

Určuje blok kódu pro lov všech výjimek z předchozí akci blok.

AND_CATCH

Určuje blok kódu pro lov typy dalších výjimek z předchozí akci blok.

AND_CATCH_ALL

Určuje blok kódu pro lov všech ostatních typů další výjimky vyvolána v předchozích akci blok.

END_CATCH

Končí poslední ve SKUTEČNÉ nebo AND_CATCH bloku kódu.

END_CATCH_ALL

Končí poslední CATCH_ALL bloku kódu.

PROJEKCE

Zadaného výjimku.

THROW_LAST

Aktuálně zpracované výjimku další vnější obslužné rutiny.

Funkce vyvolání výjimky

AfxThrowArchiveException

Výjimku archivu.

AfxThrowFileException

Soubor výjimku.

AfxThrowMemoryException

Vyvolá výjimku paměti.

AfxThrowNotSupportedException

Výjimku není podporována.

AfxThrowResourceException

Výjimku Windows prostředek nebyl nalezen.

AfxThrowUserException

Uživatel spustil program akce vyvolá výjimku.

Knihovna MFC obsahuje dvě funkce vyvolání výjimky pro výjimky OLE:

Funkce OLE výjimka

AfxThrowOleDispatchException

Výjimku v rámci funkce automatizace OLE.

AfxThrowOleException

Výjimku OLE.

Pro podporu databáze výjimky, databázové třídy poskytují dvě třídy výjimek CDBException a CDaoExceptiona globální funkce pro podporu typy výjimek:

Výjimka funkce rozhraní DAO

AfxThrowDAOException

Vyvolá CDaoException z vlastního kódu.

AfxThrowDBException

Vyvolá CDBException z vlastního kódu.

Knihovna MFC poskytuje následující funkce ukončení:

Ukončení funkce

AfxAbort

Jen do ukončení aplikace po závažné chybě dochází.

Viz také

Referenční dokumentace

Třída CException

Koncepty

MFC – makra a globální prvky