Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT

         

Класс CFileException


Класс CFileException предназначен для обработки исключительных ситуаций, возникающих во время создания или вызова методов класса CFile и порожденных от него классов. Этот класс описан нами в разделе “Класс CFile” и предназначается для работы с файловой системой. Естественно, при работе с файловой системой могут возникнуть самые разнообразные ошибки (исключительные ситуации): попытка открыть несуществующий файл, переполнение диска во время операции записи, ошибка чтения с диска и т. д.

Наибольший интерес для нас представляет элемент данных m_cause из класса CFileException. В него заносится код, по которому можно определить причину исключения.

Константа

Причина ошибки

CFileException:: none

Без ошибки

CFileException:: generic

Неопределенная ошибка

CFileException:: fileNotFound

Файл не найден

CFileException:: badPath

Задан несуществующий путь

CFileException:: tooManyOpenFiles

Открыто слишком много файлов

CFileException:: accessDenied

Доступ к файлу закрыт

CFileException:: invalidFile

Использование неправильного идентификатора (дескриптора) файла

CFileException:: removeCurrentDir

Попытка удалить текущий каталог

CFileException:: directoryFull

Переполнение структуры каталогов. Невозможно создать новый каталог

CFileException:: badSeek

Ошибка во время перемещения указателя файлов

CFileException:: hardIO

Ошибка аппаратного обеспечения компьютера

CFileException:: sharingViolation

Программа SHARE.EXE не загружена или общая область заблокирована (locked)

CFileException:: lockViolation

Попытка заблокировать область файла, которая уже была заблокирована ранее

CFileException:: diskFull

Нет свободного пространства на диске

CFileException:: endOfFile

Достигнут конец файла

Так как за взаимодействие приложения с файловой системной компьютера отвечает прежде всего операционная система, то в случае ошибки она возвращает соответствующий код. В состав класса CFileException входит элемент данных m_lOsError. В него заносится код ошибки, который вернула операционная система.



Содержание раздела