віртуальний BOOL GetErrorMessage (LPTSTR lpszError, UINT nMaxError, PUINT pnHelpContext = NULL);
Значення, яке повертається
Ненульовий, якщо функція успішно; в іншому випадку є 0, якщо помилки немає повідомлення тексту.
Параметри
lpszError
Вказівник на буфер, який буде отримувати повідомлення про помилку.
nMaxError
Максимальна кількість символів, які можуть містити буфер, включаючи NULL Термінатор.
pnHelpContext
Адреса UINT , який буде отримувати допомогу контексті ID. Якщо буде повернуто значення NULL, немає ID.
Зауваження
Зателефонувати цієї функції-члена надати тексту про помилку, що сталося. Наприклад, зателефонуйте GetErrorMessage отримати рядок опису помилки, що викликало MFC кинути CFileException при написанні CFile об'єкт.
Примітка GetErrorMessage не скопіюєте більше, ніж &nMaxError -1 символи в буфер, і він завжди буде додати заднього null до кінця string.nbsp; Якщо буфер занадто малий, повідомлення про помилку може бути скорочено.
Приклад
Ось приклад використання CException::GetErrorMessage.
CFile fileInput;
CFileException ex;
/ / спробувати відкрити файл для читання.
/ / Файл безумовно не буде
/ / Існує, тому що є дуже багато явних
/ / каталоги в ім'я.
/ / Якщо не заклик до Open(), колишній буде
/ / ініціалізувати, за винятком
/ / information.nbsp; заклик до ex.GetErrorMessage()
/ / дозволяє отримати на відповідні повідомлення з описом
/ / повідомлення про помилку і ми будемо додати наш власний текст
/ / Щоб переконатися, що користувач є абсолютно впевнений, що
/ / пішло не так.
Якщо (! fileInput.Open ("\\Too\\Many\\Bad\\Dirs.DAT", CFile::modeRead & екс))
{
TCHAR szCause [255];
CString strFormatted;
EX.GetErrorMessage (szCause, 255);
/ / (в реальному житті, це, ймовірно, більше
/ / відповідні читати це від
/ / рядкового ресурсу, тому було б легко
/ / локалізувати)
strFormatted = _T ("не вдається відкрити файл даних цю помилку:");
strFormatted + = szCause;
AfxMessageBox(strFormatted);
}
інше
{
/ / відкрити файл, так що незалежно робота
/ / з fileInput
/ / Ми збиралися...
// :
fileInput.Close();
}
Огляд CException |nbsp; Члени класу | Ієрархічна діаграма
Дивіться також CException::ReportError