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
CUserException
Requisitos
Cabeçalho: afxwin.h