CUserException – třída
Vyvolá se zastavení operace koncového uživatele.
Syntaxe
class CUserException : public CSimpleException
Poznámky
Použijte CUserException
, když chcete použít mechanismus výjimky vyvolání/zachycení pro výjimky specifické pro aplikaci. "Uživatel" v názvu třídy lze interpretovat jako "můj uživatel udělal něco výjimečného, co potřebuji zpracovat."
A CUserException
se obvykle vyvolá po volání globální funkce AfxMessageBox
, která uživatele upozorní, že operace selhala. Při zápisu obslužné rutiny výjimky zpracujte výjimku speciálně, protože uživatel již byl upozorněn na selhání. Architektura vyvolá tuto výjimku v některých případech. CUserException
Pokud chcete vyvolat sami sebe, upozorněte uživatele a pak zavolejte globální funkci AfxThrowUserException
.
V následujícím příkladu funkce obsahující operace, které mohou selhat výstrahy uživatele a vyvolá CUserException
výjimku . Volající funkce zachytí výjimku a zpracuje ji speciálně:
void DoSomeOperation()
{
// Processing
// If something goes wrong...
AfxMessageBox(_T("The x operation failed"));
AfxThrowUserException();
}
BOOL TrySomething()
{
try
{
// Could throw a CUserException or other exception.
DoSomeOperation();
}
catch (CUserException* pe)
{
pe->Delete();
return FALSE; // User already notified.
}
catch (CException* pe)
{
// For other exception types, notify user here.
pe->ReportError();
return FALSE;
}
return TRUE; // No exception thrown.
}
Další informace o použití CUserException
naleznete v článku Zpracování výjimek (MFC).
Hierarchie dědičnosti
CUserException
Požadavky
Hlavička: afxwin.h