CException::GetErrorMessage

Виртуальный BOOL GetErrorMessage (LPTSTR lpszError, UINT nMaxError, PUINT pnHelpContext = NULL);

Возвращаемое значение

Ненулевое значение, если функция выполнена успешно; в противном случае 0, если текст сообщения об ошибке не доступен.

Параметры

lpszError

Указатель на буфер, который будет получать сообщение об ошибке.

nMaxError

Максимальное количество символов, которое может вместить буфер, в том числе маркера конца строки NULL.

pnHelpContext

Адрес UINT , которая получит идентификатор контекста справки. Если будет возвращено значение NULL, не ID.

Примечания

Вызов этой функции-члена для предоставления текста об ошибке, которая произошла. Например вызовите GetErrorMessage , чтобы получить строку с описанием ошибки, вызвавшей MFC бросать CFileException при записи в объект CFile.

Примечание GetErrorMessage не будет копировать более чем &nMaxError -1 символов в буфер, и он всегда будет добавить конечные значения null для прекращения string.nbsp; Если буфер слишком мал, сообщение об ошибке может быть усечено.

Пример

Ниже приведен пример использования CException::GetErrorMessage.

   CFile fileI&nput;
   CFileException ex;

/ / открыть файл для чтения.
   / / Файл будет определенно не
   / / существуют потому, что есть слишком много явных
   / / каталогов в названии.

/ / Если не вызов Open(), бывший будет
   / / инициализирован с исключением
   / / information.nbsp; вызов ex.GetErrorMessage()
   / / получит соответствующее сообщение описанием
   / / Ошибка и мы добавим наш собственный текст
   / / чтобы убедиться, что пользователь абсолютно уверен что
   / / пошло не так.
   
   Если (! fileInput.Open («\\Too\\Many\\Bad\\Dirs.DAT», CFile::modeRead и бывший))
   {
      TCHAR szCause [255];
      CString strFormatted;

бывший.GetErrorMessage (szCause, 255);

/ / (в реальной жизни, это вероятно больше
      / / соответствующие читать это от
      / / строковый ресурс, поэтому было бы легко
      / / локализации)

strFormatted = _T ("файл данных не может быть открыт из-за этой ошибки:");
      strFormatted += szCause;

AfxMessageBox(strFormatted);
   }
   остальное
   {
      / / открыть файл, так что делать любую работу
      / / с fileInput
      / / Мы планировали...
      // :

fileInput.Close();
   }

Обзор CException |nbsp; Члены класса | Иерархическая схема

См. также CException::ReportError

Index