
Une CUserException est levée pour arrêter une opération de l'utilisateur final. Utilisez CUserException si vous voulez utiliser le mécanisme d'exception throw/catch des exceptions spécifiques à l'application. « Utilisateur » dans le nom de classe peut être interprété comme « mon utilisateur fait quelque chose d'exceptionnel que j'ai besoin de traiter. »
Un CUserException est généralement levée après l'appel de la fonction globale AfxMessageBox pour avertir l'utilisateur qu'une opération a échoué. Lorsque vous écrivez un gestionnaire d'exception, gérer l'exception spécialement puisque l'utilisateur généralement a déjà été notifié de l'échec. Le cadre lève cette exception dans certains cas. Pour lancer un CUserException vous-même, avertir l'utilisateur et ensuite appeler la fonction globale AfxThrowUserException.
Dans l'exemple ci-dessous, une fonction contenant des opérations qui peuvent ne pas avertit l'utilisateur et lève un CUserException. Intercepte l'exception et il traite spécialement de la fonction d'appel:
vOID DoSomeOperation)
{
nbsp ; / Traitement
/ / Si quelque chose va mal...
AfxMessageBox ("la x opération a échoué") ;
AfxThrowUserException () ;
}
BOOL TrySomething)
{
ESSAYEZ
{
/ / Pourrait jeter une CUserException ou autre exception.
DoSomeOperation () ;
}
CATCH (CUserException, e)
{
Return FALSE ; / / L'utilisateur a déjà avisé.
}
A&ND_CATCH (CException, e)
{
/ / Pour les autres types d'exception, notifier l'utilisateur ici.
AfxMessageBox ("une opération a échoué") ;
Return FALSE ;
}
END_CATCH
Return TRUE ; / / Aucune exception levée.
}
Pour plus d'informations sur CUserException, consultez l'article Exceptions dans le Guide du programmeur Visual C++.
# include lt;afxwin.h>
Membres de la classe base |nbsp ; Graphique de la hiérarchie
Voir aussi  ;CException, AfxMessageBox, AfxThrowUserException