CException::GetErrorMessage

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

Wartość zwracany

Niezerowa, jeśli funkcja jest skuteczne; w przeciwnym razie 0 Jeśli tekst komunikatu błędu nie jest dostępny.

Parametry

lpszError

Wskaźnik do buforu, który zostanie wyświetlony komunikat o błędzie.

nMaxError

Maksymalna liczba znaków, które bufor może pomieścić, włączając w to NULL terminator.

pnHelpContext

Adres UINT , który będzie odbierał identyfikatora kontekstu pomocy Jeśli zwracane są wartości NULL, brak Identyfikatora.

Uwagi

Wywołanie funkcji członek ten tekst błędu, który wystąpił. Na przykład wywołanie GetErrorMessage do pobrania Ciąg opisujący ten błąd, który spowodował MFC rzucał CFileException podczas zapisywania obiektu CFile.

Uwaga GetErrorMessage &nie skopiuje więcej niż nMaxError -1 znaków do buforu i zawsze będzie dodawać końcowe wartości null do końca string.nbsp; Jeśli bufor jest zbyt mały, komunikat o błędzie może zostać obcięty.

Przykład

Poniżej przedstawiono przykład użycia CException::GetErrorMessage.

   CFile fileInput;
   CFileException ex;

/ / Spróbuj otworzyć plik do czytania.
   / / Plik będzie z pewnością nie
   / / istnieć, ponieważ istnieje zbyt wiele jawne
   / / katalogi w nazwie.

/ / Jeżeli wywołanie metody Open() nie powiedzie się, będą loco
   / / zainicjowana z wyjątkiem
   / / information.nbsp; Wywołanie ex.GetErrorMessage()
   / / będzie pobrać odpowiedni komunikat opisujący
   / / błąd i możemy dodamy nasz własny tekst
   / / Aby upewnić się, że użytkownik jest pewien, doskonale co
   / / poszło źle.
   
   Jeżeli (! fileInput.Open ("\\Too\\Many\\Bad\\Dirs.DAT", CFile::modeRead & ex))
   {
      TCHAR szCause [255];
      CString strFormatted;

loco.GetErrorMessage (szCause, 255);

/ / (w prawdziwym życiu, jest prawdopodobnie więcej
      / / należy przeczytać informacje z
      / / zasobu ciągu tak łatwo byłoby
      / / lokalizacji)

strFormatted = _T ("nie można otworzyć pliku danych z powodu tego błędu:");
      strFormatted += szCause;

AfxMessageBox(strFormatted);
   }
   Else
   {
      / / plik został otwarty, to niezależnie od pracę
      / / z fileInput
      / / możemy planowały...
      // :

fileInput.Close();
   }

Omówienie CException |nbsp; Klasa członków | Wykres hierarchii

Zobacz też CException::ReportError

Index