Partilhar via


CException::GetErrorMessage

telefonar Essa função de membro para fornecer um texto sobre um erro que ocorreu.

virtual BOOL GetErrorMessage(
   LPTSTR lpszError,
   UINT nMaxError,
   PUINT pnHelpContext = NULL 
);

Parâmetros

  • lpszError
    Um ponteiro para um buffer que receberá uma mensagem de erro.

  • nMaxError
    O número máximo de caracteres que pode conter o buffer, incluindo o NULO terminador.

  • pnHelpContext
    O endereço de um UINT que receberá a ID do contexto de Ajuda.If NULO, nenhuma ID será retornada.

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0 se nenhum erro mensagens de texto estará disponível.

Comentários

Por exemplo, chamar GetErrorMessage para recuperar a cadeia de caracteres descrevendo o erro que causou a MFC lançar um CFileException ao gravar um CFile objeto.

Observação:

GetErrorMessage não irá copiar mais de nMaxError -1 caracteres para o buffer e sempre irão adicionar um valor nulo à direita para finalizar a cadeia de caracteres.Se o buffer é pequeno demais, a mensagem de erro pode ser truncada.

Exemplo

Aqui está um exemplo do uso de CException::GetErrorMessage.

CFile fileInput;
CFileException ex;

// try to open a file for reading.
// The file will certainly not
// exist because there are too many explicit
// directories in the name.

// if the call to Open() fails, ex will be
// initialized with exception
// information.  the call to ex.GetErrorMessage()
// will retrieve an appropriate message describing
// the error, and we'll add our own text
// to make sure the user is perfectly sure what
// went wrong.

if (!fileInput.Open(_T("\\Too\\Many\\Bad\\Dirs.DAT"), CFile::modeRead, &ex))
{
   TCHAR   szCause[255];
   CString strFormatted;

   ex.GetErrorMessage(szCause, 255);

   // (in real life, it's probably more
   // appropriate to read this from
   //  a string resource so it would be easy to
   // localize)

   strFormatted = _T("The data file could not be opened because of this error: ");
   strFormatted += szCause;

   AfxMessageBox(strFormatted);
}
else
{
   // the file was opened, so do whatever work
   // with fileInput
   // we were planning...

   fileInput.Close();
}

Requisitos

Cabeçalho: afx.h

Consulte também

Referência

Classe CException

Gráfico de hierarquia

CException::ReportError

Outros recursos

CException membros