CUserException

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

Index