
Un CUserException viene generata per interrompere un'operazione per l'utente finale. Quando si desidera utilizzare il meccanismo di eccezione throw/catch per le eccezioni specifiche dell'applicazione, utilizzare CUserException . "Utente" nel nome della classe può essere interpretata come «mio utente fatto qualcosa di eccezionale che è necessario gestire».
Una CUserException di solito viene generata dopo la chiamata della funzione globale AfxMessageBox per notificare all'utente che un'operazione è riuscita. Quando si scrive un gestore eccezioni, gestire l'eccezione appositamente dal momento che l'utente di solito è già stato notificato il fallimento. Il framework genera questa eccezione in alcuni casi. Per lanciare un CUserException , avvertire l'utente e quindi chiamare la funzione globale AfxThrowUserException.
Nell'esempio seguente, una funzione che contiene le operazioni che potrebbero non riuscire avverte l'utente e genera un CUserException. La funzione chiamante l'eccezione e gestisce appositamente:
void DoSomeOperation)
{
nbsp; / / Trasformazione
/ / Se qualcosa va storto...
AfxMessageBox ("x operazione non riuscita");
AfxThrowUserException ();
}
BOOL TrySomething)
{
PROVARE
{
/ / Potrebbe gettare una CUserException o altra eccezione.
DoSomeOperation ();
}
CATCH (CUserException, e)
{
return FALSE; / / Utente già notificato.
}
A&ND_CATCH (CException, e)
{
/ / Per altri tipi di eccezione, notifica all'utente qui.
AfxMessageBox ("qualche operazione non riuscita");
return FALSE;
}
END_CATCH
return TRUE; / / Generata alcuna eccezione.
}
Per ulteriori informazioni sull'utilizzo di CUserException, vedere l'articolo eccezioni nel manuale del programmatore di Visual C++.
# include lt;afxwin.h>
I membri di classe base |nbsp; Gerarchia Chart
Vedere a&nchenbsp;CException, AfxMessageBox, AfxThrowUserException