
Uma CUserException é lançada para interromper uma operação de usuário final. Use CUserException quando você deseja 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 para controlar".
Um CUserException é normalmente descartado após chamar a função global AfxMessageBox para notificar o usuário que uma operação falhou. Quando você escrever um manipulador de exceção, manipule a exceção, especialmente desde que o usuário geralmente tem já sido notificado sobre a falha. O framework gera essa exceção em alguns casos. Para lançar um CUserException , alertar o usuário e, em seguida, chame a função global AfxThrowUserException.
No exemplo a seguir, uma função que contém operações que podem falhar alerta o usuário e lança um CUserException. A função de chamada captura a exceção e manipula-lo especialmente:
privatevoid DoSomeOperation)
{
nbsp; / / Processamento
/ / Se algo der errado...
AfxMessageBox ("x operação falhada");
AfxThrowUserException ();
}
BOOL TrySomething)
{
TE&NTE
{
/ / Poderia lançar uma CUserException ou outra exceção.
DoSomeOperation ();
}
CATCH (CUserException, e)
{
retornar FALSE; / / Usuário já notificado.
}
AND_CATCH (CException, e)
{
/ / Para outros tipos de exceção, notificar o usuário aqui.
AfxMessageBox ("alguma operação falhada");
retornar FALSE;
}
END_CATCH
retornar TRUE; / / Nenhuma exceção Descartado.
}
Para obter mais informações sobre como usar o CUserException, consulte o artigo exceções no Guia do programador do Visual C++.
# include lt;afxwin.h>
Membros de classe base |nbsp; Gráfico de hierarquia
Co&nsulte tambémnbsp;CException, AfxMessageBox, AfxThrowUserException