Partilhar via


Classe CUserException

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Lançado para travar uma operação do utilizador final.

Sintaxe

class CUserException : public CSimpleException

Observações

Usa CUserException quando quiseres usar o mecanismo de exceções throw/catch para exceções específicas da aplicação. "Utilizador" no nome da classe pode ser interpretado como "o meu utilizador fez algo excecional que preciso de tratar."

A é normalmente lançado após chamar CUserException a função AfxMessageBox global para notificar o utilizador de que uma operação falhou. Quando escreve um gestor de exceções, trate a exceção especialmente porque o utilizador normalmente já foi notificado da falha. O quadro introduz esta exceção em alguns casos. Para lançar um CUserException a yourself, alerta o utilizador e depois chama a função AfxThrowUserExceptionglobal .

No exemplo abaixo, uma função contendo operações que podem falhar alerta o utilizador e lança um CUserException. A função que chama capta a exceção e trata dela especialmente:

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 a utilização CUserExceptionde , consulte o artigo Tratamento de Exceções (MFC).

Hierarquia de herança

CObject

CException

CSimpleException

CUserException

Requerimentos

Cabeçalho: afxwin.h

Consulte também

Gráfico de Hierarquia
Aula CException