CException::GetErrorMessage

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

Valor devuelto

Distinto de cero si la función es correcta; en caso contrario 0 si no hay error mensaje de texto está disponible.

Parámetros

lpszError

Un puntero a un búfer que recibirá un mensaje de error.

nMaxError

El número máximo de caracteres que puede contener el búfer, incluyendo el terminador NULL.

pnHelpContext

La dirección de un UINT que recibirá el identificador de contexto de ayuda. Si se devolverán NULL, no hay ID.

Observaciones

Llame a esta función miembro para proporcionar un texto sobre un error que se ha producido. Por ejemplo, llamar a GetErrorMessage para recuperar una cadena que describe el error que causó MFC a tirar un CFileException al escribir en un objeto CFile.

&Nota GetErrorMessage no copiará más caracteres de nMaxError -1 en el búfer, y siempre agregará valor null al final para poner fin a la string.nbsp; Si el búfer es demasiado pequeño, se puede truncar el mensaje de error.

Ejemplo

Este es un ejemplo del uso de CException::GetErrorMessage.

   CFile fileInput;
   CFileException ex;

/ / intente abrir un archivo para lectura.
   / / No será, sin duda, el archivo
   / / existe porque hay demasiados explícita
   / / directorios en el nombre.

/ / Si se produce un error en la llamada a Open(), ex será
   / / se inicializan con excepción
   / / information.nbsp; la llamada a ex.GetErrorMessage()
   / / recuperará un mensaje apropiado describir
   / / el error y te añadiremos nuestro propio texto
   / / para asegurarse de que el usuario es perfectamente seguro lo
   / / falló.
   
   Si (! fileInput.Open ("\\Too\\Many\\Bad\\Dirs.DAT", CFile::modeRead & ex))
   {
      TCHAR szCause [255];
      CString strFormatted;

ex.GetErrorMessage (szCause, 255);

/ (en la vida real, es probablemente más
      / / adecuadas leer esto desde
      / / un recurso de cadena, por lo que sería fácil
      / / localización)

strFormatted = _T ("no se pudo abrir el archivo de datos debido a este error:");
      strFormatted += szCause;

AfxMessageBox(strFormatted);
   }
   otra cosa
   {
      / / se abrió el archivo, por lo tanto hacer cualquier trabajo
      / / con fileInput
      / / que estábamos planificando...
      // :

fileInput.Close();
   }

Visión General de CException |nbsp; Miembros de clase | Diagrama de jerarquía

Vea tambié&nnbsp;CException::ReportError

Index