CException::GetErrorMessage

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

Valeur de retour

Différent de zéro si la fonction est réussie ; sinon, 0 si aucune erreur de message texte est disponible.

Paramètres

lpszError

Un pointeur vers une mémoire tampon qui recevra un message d'erreur.

nMaxError

Le nombre maximum de caractères de que la mémoire tampon peut contenir, y compris le terminateur NULL.

pnHelpContext

L'adresse d'un UINT qui va recevoir l'ID de contexte aide. Si NULL, aucun ID sera retourné.

Remarques

Appelez cette fonction membre pour fournir un texte sur une erreur qui s'est produite. Par exemple, appeler GetErrorMessage pour récupérer une chaîne décrivant l'erreur qui a causé des MFC pour lancer un CFileException lors de l'écriture à un objet CFile.

&Note GetErrorMessage ne copiera pas plus que la mémoire tampon de caractères nMaxError -1 , et il ajoute toujours une fin null pour mettre fin à la string.nbsp ; Si la mémoire tampon est trop petit, le message d'erreur peut être tronqué.

Exemple

Voici un exemple de l'utilisation de CException::GetErrorMessage.

   CFile fileInput ;
   CFileException ex ;

/ / Essayez d'ouvrir un fichier en lecture.
   / / Le fichier ne sera certainement pas
   / / existe parce qu'il y a trop d'explicite
   / / répertoires dans le nom.

/ / Si l'appel à Open() échoue, ex sera
   / / initialisée avec exception
   / / information.nbsp ; l'appel à la pièce.GetErrorMessage()
   / / permettra de récupérer un message approprié décrivant
   / / l'erreur et nous allons ajouter notre propre texte
   / / s'assurer que l'utilisateur est parfaitement sûr de ce que
   / / n'a pas fonctionné.
   
   Si (! fileInput.Open (« \\Too\\Many\\Bad\\Dirs.DAT », CFile::modeRead, & ex))
   {
      TCHAR szCause [255] ;
      CString strFormatted ;

ex.GetErrorMessage (szCause, 255) ;

/ / (dans la vraie vie, il est probablement plus
      / / approprié pour cela de lire
      / / une ressource de type chaîne, donc il serait facile de
      / / localiser)

strFormatted = _T ("Impossible d'ouvrir le le fichier de données en raison de cette erreur:") ;
      strFormatted += szCause ;

AfxMessageBox(strFormatted) ;
   }
   autre
   {
      / / le fichier a été ouvert, faire quelque travaux
      / / avec fileInput
      / / nous envisagions...
      // :

fileInput.Close() ;
   }

CException aperçu |nbsp ; Membres de la classe | Graphique de la hiérarchie

Voir aussi  ;CException::ReportError

Index