

Программирование на языке MFC
Мой второй блог в серии программирования
Метод GetErrorMessage
После выдачи отладочного сообщения функция AfxThrowFileEx-ception() создает новый объект класса CFileException, используя при этом значения, переданные функции в качестве аргументов, и формирует исключение при помощи оператора throw. Только и всего.
Теперь неплохо было бы разобраться, что же делает тот метод GetErrorMessage(), который сводит в базовом методе на нет все усилия программиста получить хоть какое-то сообщение?
Исходный код этого метода находится в файле filex.cpp:
BOOL CFileException::GetErrorMessage(LPTSTR IpszError,
UINT nMaxError, PUINT pnHelpContext)
{
ASSERT(IpszError != NULL &&
AfxlsValidString(IpszError, nMaxError));
if (pnHelpContext != NULL)
^pnHelpContext = m_cause + AFX_IDP_FILE_NONE;
CString strMessage;
CString strFileName = m_strFileName; if (strFileName.IsEmpty())
strFileName.LoadString(AFX_IDS_UNNAME D_FILE); AfxFormatStringl(strMessage,
m_cause + AFX_IDP_FILE_NONE, strFileName); lstrcpyn(IpszError, strMessage, nMaxError);
return TRUE;
}
Похожие статьи: Load
