Шаг 15 - CFile и открытие файла

15.gif (5058 b)

Петя хочет использовать CFile объект для работы с данными в приложении. Так же он хочет красиво обрабатывать ситуацию когда открывается файл который не существует.

Как он должен вести себя в этой ситуации?

a. Поместить try/catch вокруг конструктора.

b. Поместить try/catch вокруг Open метода CFile

c. Вызвать Open метод и проверить результат возврата

d. Вызвать GetLength метод после открытия и проверить на ошибки.

Разговор идет об открытии. Во первых конструктор CFile не выдает исключений если не производить открытия файла, так как не открывает файл. Файл открывает только метод Open. Вот в это момент и может произойти ошибка. Соответственно пункты a и b вообще не подходят к сути вопроса, так как ошибка будет при открытии и спрашивают о том как обрабатывать ошибку открытия. Но при открытии файла то же не может быть исключения. Можно передать указатель на объект CFileException для получения подробной информации. А так функция возвращает только TRUE или FALSE.

virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags,
	CFileException* pError = NULL );

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.