Classe di CUserException

Generato per interrompere un'operazione dell'utente finale.

class CUserException : public CSimpleException

Note

Utilizzo CUserException quando si desidera utilizzare il meccanismo di un'eccezione catch/throw per le eccezioni specifiche dell'applicazione. L'utente" nel nome della classe può essere interpretato come "my l'utente ha fatto di elementi eccezionale che deve gestire."

CUserException viene solitamente generato dopo la chiamata alla funzione globale AfxMessageBox per informare l'utente che l'operazione non è riuscita.Quando si scrive un gestore eccezioni, gestire in particolare eccezione poiché in genere è già stato notifica di errore.Il framework genera in alcuni casi questa eccezione.Per generare CUserException manualmente, segnalazione e chiamare la funzione globale AfxThrowUserException.

Nell'esempio riportato di seguito, una funzione che contiene operazioni che possono avere esito negativo gli avvisi dell'utente e generano CUserException.La funzione chiamante intercetta l'eccezione e la gestione particolarmente:

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 ulteriori informazioni su l CUserException, vedere l'articolo Gestione delle eccezioni (MFC).

Gerarchia di ereditarietà

CObject

CException

CSimpleException

CUserException

Requisiti

Intestazione: afxwin.h

Vedere anche

Riferimenti

Grafico della gerarchia

Classe di CException

AfxMessageBox

AfxThrowUserException

Altre risorse

Ricerca di categorie: Creazione di mie proprie classi di eccezione personalizzate?