Члены класса
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 |
Достигнут конец файла |