Condividi tramite


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 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à

CObject

CException

CSimpleException

CUserException

Requisiti

Intestazione: afxwin.h

Vedi anche

Grafico della gerarchia
Classe CException