Partager via


CUserException, classe

Levée pour arrêter une opération d'utilisateur.

class CUserException : public CSimpleException

Notes

Utilisation CUserException lorsque vous souhaitez utiliser le mécanisme d'exception throw/Catch pour des exceptions spécifiques à l'application. " L'utilisateur » dans le nom de classe peut être interprète comme « mon utilisateur a exécute une action exceptionnelle que je dois traiter. »

CUserException est généralement levée après avoir appelé la fonction globale AfxMessageBox pour informer l'utilisateur qu'une opération a échoué. Lorsque vous écrivez un gestionnaire d'exceptions, gérez l'exception particulièrement étant donné que l'utilisateur qui a déjà été averti de l'échec. l'infrastructure lève cette exception dans certains cas. Pour lever CUserException vous-même, alerter l'utilisateur puis appelez la fonction globale AfxThrowUserException.

Dans l'exemple ci-dessous, une fonction contenant les opérations susceptibles de provoquer des alertes l'utilisateur et lèvent CUserException. L'appel de la fonction intercepte l'exception et la gère spécialement :

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.
}

Pour plus d'informations sur l'utilisation CUserException, consultez l'article gestion des exceptions (MFC).

Hiérarchie d'héritage

CObject

CException

CSimpleException

CUserException

Configuration requise

En-tête : afxwin.h

Voir aussi

Référence

Graphique de la hiérarchie

CException, classe

AfxMessageBox

AfxThrowUserException

Autres ressources

Comment faire : Créez mes propres Classes exceptions personnalisées ?