Sdílet prostřednictvím


CFileException::GetErrorMessage

Načte text popisující výjimku.

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

Parametry

  • [v, out]lpszError
    Ukazatel do vyrovnávací paměti, která přijímá chybové zprávy.

  • [v]nMaxError
    Maximální počet znaků, které mohou obsahovat zadané vyrovnávací paměti.To zahrnuje ukončujícím znakem null.

  • [v, out]pnHelpContext
    Ukazatel na celé číslo bez znaménka, která přijímá ID kontextové nápovědyPokud NULL , je vrácena žádná ID.

Vrácená hodnota

TRUEPokud byla metoda úspěšná. jinak FALSE .

Poznámky

Pokud zadaná vyrovnávací paměť je příliš malá, chybová zpráva zkrácena.

Příklad

Následující příklad používá CFileException::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();
}

Požadavky

Záhlaví: afx.h

Viz také

Referenční dokumentace

Třída CException

Graf hierarchie

CException::ReportError