博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XEIM 里如何使用 CFileException 处理异常的
阅读量:3517 次
发布时间:2019-05-20

本文共 1726 字,大约阅读时间需要 5 分钟。

原文:

CFileException类学习笔记

今天介绍一下 XEIM 里如何使用 CFileException 处理异常的,我们知道 CFileException 类的声明文件保存在头文件afx.h中。
当我们在使用CFile及其派生类的对象的时候,如果产生异常则会创建和抛出CFileException对象。采用TRY…CATCH…END_CATCH。
CFileException类的成员变量:
m_cause错误代码
CFileException::none
没有错误发生
CFileException::generic
一个未被指明的错误发生
CFileException::fileNotFind
该文件不能被定位
CFileException::badPath
整个或者部分路径是无效的
CFileException::tooManyOpenFiles
打开文件的数目太多
CFileException::accessDenied
文件不能被访问
CFileException::invalidFile
试图使用无效文件的句柄
CFileException::removeCurrentDir
当前工作路径不能被移除
CFileException::directoryFull
不再有目录项
CFileException::badSeek
试图设置文件指针错误
CFileException::hardIO
硬件错误
CFileException::sharingViolation
不能调用share.exe文件,或者共享区域被锁
CFileException::lockViolation
试图锁定一个已经被锁的区域
CFileException::diskFull
磁盘空间已满
CFileException::endOfFile
访问到文件尾部
m_IOsEror
操作系统异常错误代码,LONG型
m_strFileName
产生异常情况的文件名称,CString型
CFileException类的成员变量:
CFileException(
int cause = CFileException::none, 异常原因代码
LONG IOsError = -1, 操作系统提示的错误
LPCTSTR lpszArchiveName = NULL 产生错误的CFile对象
);
除了使用全局函数AfxThrowFileException,不能直接创建一个异常文件对象。
注意:IOsError只能应用在CFile和CStdioFile类产生的对象中。CMemFile对象不能操作该错误代码。
static int PASCAL ErrnoToException(int nErrno);
将运行时的错误值转换为一个CFileException被枚举定义的错误值
nErrno:指的是头文件ERRNO.H中定义的运行时错误值
该函数返回与运行时错误相对应的枚举值
static int PASCAL OsErrorToException(LONG IOsError);
将操作系统产生的错误值转换为一个CFileException被枚举定义的错误值
IOsError:指的是操作系统指定的错误值
该函数返回与操作系统错误相对应的枚举值,如果该错误没有对应的CFileException定义的错误值,则会返回CFileException::generic
static void PASCAL ThrowErrno(
int nErrno,
LPCTSTR lpszFileName = NULL
);
构造一个与ERRNO.H头文件声明的错误值一致的CFileException对象,并抛出该异常。
static void PASCAL ThrowOsError(
LONG IOsError,
LPCTSTR lpszFileName = NULL
);
抛出一个与操作系统错误一致的CFileException对象,如果IOsError错误代码不可知,则抛出异常代码CFileException::generic



转载地址:http://vxxqj.baihongyu.com/

你可能感兴趣的文章
static关键字
查看>>
类的继承
查看>>
final关键字
查看>>
抽象类
查看>>
java的多态现象
查看>>
java中对象的类型转换
查看>>
java基础入门 String
查看>>
Java基础入门 StringBuffer类
查看>>
Java基础入门 currentTimeMillis方法
查看>>
Java基础入门 arraycopy方法
查看>>
Java基础入门 Math类
查看>>
Java基础入门 Random类
查看>>
Java基础入门 Date类
查看>>
Java基础入门 Calendar类
查看>>
Java基础入门 DateFormat类
查看>>
Java基础入门 Window类及Panel类
查看>>
Java基础入门 AWT事件处理
查看>>
Java基础入门 鼠标事件
查看>>
Java基础入门 键盘事件
查看>>
Java基础入门 GridLayout
查看>>