Compartilhar via


Classe CUserException

Gerada para interromper uma operação do usuário final.

Sintaxe

class CUserException : public CSimpleException

Comentários

Use CUserException quando quiser usar o mecanismo de exceção throw/catch para exceções específicas do aplicativo. "Usuário" no nome de classe pode ser interpretado como "meu usuário fez algo excepcional que eu preciso tratar".

Um CUserException costuma ser gerado depois de chamar a função AfxMessageBox global para notificar o usuário de que uma operação falhou. Ao escrever um manipulador de exceção, trate a exceção especialmente, pois o usuário em geral já foi notificado da falha. A estrutura gera essa exceção em alguns casos. Para gerar um CUserException você mesmo, alerte o usuário e chame a função global AfxThrowUserException.

No exemplo abaixo, uma função que contém operações que podem falhar alerta o usuário e gera um CUserException. A função de chamada captura a exceção e a trata de modo especial:

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.
}

Para mais informações sobre como usar CUserException, confira o artigo Tratamento de exceções (MFC).

Hierarquia de herança

CObject

CException

CSimpleException

CUserException

Requisitos

Cabeçalho: afxwin.h

Confira também

Gráfico da hierarquia
Classe CException