Classe CUserException
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 AfxThrowUserException
globale .
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 CUserException
di , vedere l'articolo Gestione delle eccezioni (MFC).
Gerarchia di ereditarietà
CUserException
Requisiti
Intestazione: afxwin.h