Sdílet prostřednictvím


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á CUserExceptionvý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í CUserExceptionnaleznete v článku Zpracování výjimek (MFC).

Hierarchie dědičnosti

Objekt CObject

CException

CSimpleException

CUserException

Požadavky

Hlavička: afxwin.h

Viz také

Graf hierarchie
CException – třída