CException::GetErrorMessage

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

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario 0 se nessun errore messaggio di testo è disponibile.

Parametri

lpszError

Un puntatore a un buffer che riceverà un messaggio di errore.

nMaxError

Il numero massimo di caratteri che può tenere il buffer, includendo il terminatore NULL.

pnHelpContext

L'indirizzo di un UINT che riceverà l'ID del contesto di aiuto. Se verrà restituito NULL, nessun ID.

Osservazioni

Chiamare questa funzione membro per fornire il testo su un errore che si è verificato. Ad esempio, chiamare GetErrorMessage per recuperare una stringa che descrive l'errore che ha causato MFC lanciare un CException durante la scrittura di un oggetto CFile.

&Nota GetErrorMessage non copierà più di nMaxError -1 caratteri nel buffer, e aggiungerà sempre un valore null finale alla fine del string.nbsp; Se il buffer è troppo piccolo, il messaggio di errore può essere troncato.

Esempio

Ecco un esempio dell'uso di CException::GetErrorMessage.

   FileInput CFile;
   CException ex;

/ / try aprire un file per la lettura.
   / / Il file sarà certamente non
   / / esiste perché ci sono troppe esplicita
   / / directory nel nome.

/ / Se la chiamata a Open () non riesce, ex sarà
   / / inizializzato con eccezione
   / / information.nbsp; la chiamata a ex.GetErrorMessage()
   / / consente di recuperare un messaggio appropriato che descrive
   / / l'errore e lo aggiungeremo nostro testo
   / / per assicurarsi che l'utente è perfettamente sicuro che cosa
   / / è andato storto.
   
   Se (! fileInput.Open ("\\Too\\Many\\Bad\\Dirs.DAT", modeRead & ex))
   {
      TCHAR szCause [255];
      CString strFormatted;

ex.GetErrorMessage (szCause, 255);

/ / (nella vita reale, è probabilmente più
      / / appropriato per questo da leggere
      / / una risorsa di tipo stringa quindi sarebbe facile da
      / / localizzare)

strFormatted =  t ("il file di dati non può essere aperto a causa di questo errore:");
      strFormatted + = szCause;

AfxMessageBox(strFormatted);
   }
   altro
   {
      / / è stato aperto il file, quindi fare qualunque lavoro
      / / con fileInput
      / / noi stavamo planning...
      // :

fileInput.Close();
   }

CException panoramica |nbsp; Membri della classe | Gerarchia Chart

Vedere a&nchenbsp;CException::ReportError

Index