Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Generata per arrestare un'operazione dell'utente finale.
Sintassi
class CUserException : public CSimpleException
Osservazioni:
Usare CUserException quando si vuole usare il meccanismo di eccezione throw/catch per le eccezioni specifiche dell'applicazione. "User" nel nome della classe può essere interpretato come "il mio utente ha fatto qualcosa di eccezionale che devo gestire".
Un CUserException viene in genere generato dopo aver chiamato la funzione AfxMessageBox globale per notificare all'utente che un'operazione non è riuscita. Quando si scrive un gestore eccezioni, gestire l'eccezione appositamente perché l'utente in genere è già stato informato dell'errore. Il framework genera questa eccezione in alcuni casi. Per generare un'eccezione CUserException manualmente, avvisare l'utente e quindi chiamare la funzione AfxThrowUserExceptionglobale .
Nell'esempio seguente una funzione contenente operazioni che potrebbero non riuscire avvisa l'utente e genera un'eccezione CUserException. La funzione chiamante intercetta l'eccezione e la gestisce in modo speciale:
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.
}
Per altre informazioni sull'uso CUserExceptiondi , vedere l'articolo Gestione delle eccezioni (MFC).
Gerarchia di ereditarietà
CUserException
Requisiti
Intestazione: afxwin.h