Виртуальный 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