Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
16.02.2016
Размер:
1.52 Mб
Скачать

Члены класса

CFileException( int cause = CFileException::none, LONG lOsError = -1 );

Конструктор класса.

Параметры:

cause - переменная перечислимого типа, указывающая причину возникно­вения исключения. Список возможных значений приведен в разделе о пе­ременной класса GFileException::m_cause.

lOsError - причина возникновения исключения, определяемая операцион­ной системой. Данный параметр предоставляет более полную информа­цию, чем параметр cause.

Для броска исключения данного класса можно использовать глобаль­ную функцию AfxThrowFileException. static int PASCAL ErrnoToException( int nErmo ); .

Метод конвертирует значение номера ошибки библиотеки времени вы­полнения в соответствующее значение перечислимого типа CFileException::m_cause и возвращает его.

Параметры: пЕгто - код ошибки, указанный в include-файле ERRNO.H.

Пример:

#include <errno.h>

ASSERT(CFileException::ErmoToException(EACCES)==CFileException::accessDenied);

static int PASCAL OsErrorToException( LONG lOsError );

Метод возвращает перечислимое значение, соответствующее указанной ошибке. Если код ошибки неизвестен, то метод возвращает значение CFileException::generic.

Параметры:

lOsError - код ошибки, определяемый операционной системной. Пример: ASSERT(CFUeException::OsEirorToException(5) == CFileException::accessDenied );

static void PASCAL ThrowErrno( int nErrno );

Метод бросает исключение, создавая объект CFileException, соответст­вующий значению, указанному параметром.

Параметры: nErrno - код ошибки, определенный в include-файле ERRNO.H.

Пример:

#include <errno.h> CFileException::ThrowErrno( EACCES ); // "отказ доступа"

static void PASCAL ThrowOsError( LONG lOsError);

Метод бросает исключение, создавая объект CFileException, соответст­вующий значению, указанному параметром. Если указанный код неизвес­тен, то метод бросает исключение, соответствующее значению CFileException::generic.

Параметры:

lOsError - код ошибки, определяемый операционной системой. CFileException ::m_cause

Данная переменная класса указывает причину возникновения исклю­чения.

В следующей таблице приведены по порядку возможные значения дан­ной переменной перечислимого типа.

Переменная

Значение

CFileException::none

Ошибки не произошло

CFileExcep tion:: generic

Произошла неизвестная ошибка

CFileException::ffleNotFound

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

CFileException-badPath

Указан неверный путь

CFileException::tooManyOpenFiles

Превышено допустимое число открытых файлов

CFiieException::accessDenied

Запрет доступа

CFileException: :invalid File

Попытка использования неверного деск­риптора файла

CFileException::removeCurrentDir

Нельзя удалить текущий рабочий каталог

CFJleException-directoryFnll

Нет больше входов каталога

CFileException: :badSeek

Ошибка при попытке установить указа­тель файла

CFileException: :hardIO

Произошла ошибка аппаратуры

CFileException::sharingViolation

Не загружен файл SHARE.EXE

CFileException::IockViolation

Произошла попытка заблокировать уже заблокированную область

CFileException: :diskFull

Диск переполнен

CFileException::endOfFile

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

Соседние файлы в папке VC++Баженова