Share via


CUserException, classe

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

Syntaxe

class CUserException : public CSimpleException

Notes

Utilisez CUserException quand vous souhaitez utiliser le mécanisme d’exception throw/catch pour les exceptions spécifiques à l’application. « User » dans le nom de classe peut être interprété comme « mon utilisateur a fait quelque chose d’exceptionnel que j’ai besoin de gérer ».

Une CUserException opération est généralement levée après l’appel de la fonction AfxMessageBox globale pour avertir l’utilisateur qu’une opération a échoué. Lorsque vous écrivez un gestionnaire d’exceptions, gérez l’exception spécialement depuis que l’utilisateur a généralement déjà été averti de l’échec. L’infrastructure lève cette exception dans certains cas. Pour lever un CUserException message vous-même, alertez l’utilisateur, puis appelez la fonction AfxThrowUserExceptionglobale.

Dans l’exemple ci-dessous, une fonction contenant des opérations susceptibles d’échouer alerte l’utilisateur et lève un CUserException. La fonction appelante 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

Spécifications

En-tête : afxwin.h

Voir aussi

Graphique hiérarchique
CException, classe