Программирование на языке 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;

}

Похожие статьи: