Sdílet prostřednictvím


Zpracování výjimek

Počet mimořádných podmínek a chyby se nazývají "výjimky" může nastat, když program provede.Patří k nim nedostatku paměti, chyb přidělení zdrojů a selhání při hledání souborů.

Knihovny Microsoft Foundation Class používá zpracování výjimek schématu, který je přesně modelovat po navržené výborem normy ANSI pro C++.Popisovač výjimky nutné nastavit před voláním funkce setkat mimořádné situace.Pokud funkce zjistí neobvyklý stav, jeho výjimku a řízení je předáno zpracování výjimek.

Součástí knihovny Microsoft Foundation Class několik maker bude nastavení obslužné podprocesy výjimek.Počet dalších globální funkce pomáhají vyvolávají výjimky specializované 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ý strukturu vašeho zpracování výjimek.

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

  • Ukončení funkce, které způsobují ukončení programu.

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

Výjimka makra

ZKUSTE

Označí bloku kódu pro zpracování výjimek.

CATCH

Označí bloku kódu pro lov výjimku z předchozí akci bloku.

CATCH_ALL

Označí bloku kódu pro lov všechny výjimky z předchozí akci bloku.

AND_CATCH

Označí bloku kódu pro lov typy další výjimky z předchozí akci bloku.

AND_CATCH_ALL

Označí bloku kódu pro všechny ostatní typy další výjimky v předcházejících lov akci bloku.

END_CATCH

Končí poslední úlovku nebo AND_CATCH bloku kódu.

END_CATCH_ALL

Končí poslední CATCH_ALL bloku kódu.

PROJEKCE

Vygeneruje výjimku zadané.

THROW_LAST

Aktuálně zpracované výjimku pro další zpracování vnější.

Funkce vyvolání výjimky

AfxThrowArchiveException

Výjimku archivu.

AfxThrowFileException

Vygeneruje výjimku souboru.

AfxThrowMemoryException

Vygeneruje výjimku paměti.

AfxThrowNotSupportedException

Vygeneruje výjimku není podporován.

AfxThrowResourceException

Vygeneruje výjimku Windows nalezen zdroj není.

AfxThrowUserException

Výjimku uživatel spustil program akce.

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

Výjimka funkce OLE

AfxThrowOleDispatchException

Výjimku v rámci funkce automatizace OLE aplikace.

AfxThrowOleException

Výjimku OLE.

Podpora databáze výjimky poskytují databáze tříd dvou tříd výjimek CDBException a CDaoExceptiona globální funkce pro podporu typy výjimek:

Výjimka funkce DAO

AfxThrowDAOException

Vyvolá CDaoException z vlastního kódu.

AfxThrowDBException

Vyvolá CDBException z vlastního kódu.

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

Ukončení funkce.

AfxAbort

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

Viz také

Referenční dokumentace

Třída CException

Koncepty

MFC makra a Globals