如何对读写文件进行异常处理? ( 积分: 100 )

  • 主题发起人 主题发起人 举世^杰伦
  • 开始时间 开始时间

举世^杰伦

Unregistered / Unconfirmed
GUEST, unregistred user!
如题……
我在做U盘防火墙,但遇到有写保护的U盘进行处理软件就会发生错误……遇到渔杀毒软件冲突产生I/O错误也不行……我想利用异常处理把它转变成气球提示等……给我代码和注释,万分感谢!!!
 
try
.....
except
//执行异常代码,用CoolTrayIcon气泡显示吧
end;
//最好读写文件前用createfile判断先能否有权限
 
能详细点吗?creatfile返回什么错误能判断权限?
关于“与杀毒软件冲突产生I/O错误”呢?
 
二楼你好!昨晚我试了,发现用filecreate一些情况也会产生错误,而且try..finally不能拦截的。try..excpet我有用但不能测试,我没有带写保护的优盘。
这种情况会发现系统错误,filecreate造成的:插入U盘,在我的电脑中弹出,不拔出U盘。try..finally不能拦截!
 
function Isreadwrite(fName : string ) : boolean;
var
HFileRes : HFILE;
begin
Result := false;
if not FileExists(fName) then
exit;
HFileRes := CreateFile(pchar(fName),
GENERIC_READ or GENERIC_WRITE,
0,
nil,
CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,
0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then
CloseHandle(HFileRes);
end;
//判断是否有读写权限
 
谢谢!我试了成功再奖你分吧!对不起了!
对于“这种情况会发现系统错误,filecreate造成的:插入U盘,在我的电脑中弹出,不拔出U盘。try..finally不能拦截!”该怎么办呢?
对了,try..except的except中不能加入气球提示!memo.lines也不能操作!
 
菜鸟的问题 提供的答案,我试了不行!
而且发现,提供的代码在一些资料中相似,好像是判断文件是否有读写权限用的
大家帮帮我吧!
 
后退
顶部