首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb写文件时怎么自己处理错误.立即上分

2012-01-14 
vb写文件时如何自己处理异常......立即上分!VB我不熟现在突然用到头痛...就这么一句,OpenD:\datarecord1.

vb写文件时如何自己处理异常......立即上分!
VB我不熟现在突然用到头痛...
就这么一句,
Open   "D:\datarecord1.txt "   For   Output   Lock   Read   Write   As   #1
接着就准备写操作了,问题是如果另一程序正在对文件D:\datarecord1.txt进行读时,这时VB程序去写文件open时肯定会被拒绝的,这时该用什么方法自己处理这个异常(比如说延时2秒再次执行写操作)而不是让系统退出......请高手指点!

        急.......


[解决办法]
在这段程序前加“On Error GoTo handdle”
再声明“handdle”即可
如:
on error goto handdle

Open "D:\datarecord1.txt " For Output Lock Read Write As #1 '您的代码段

handdle:
msgbox "XXXXXXXX " '这里写您的错误提示内容

也可以在类中声明您的“错误代号”
[解决办法]
把写入文件的过程放在一个函数里,再利用错误捕捉语句实现判断是否执行成功.

private function savefile(byval filename as string) as boolean
on error goto errhandle

savefile = False
open filename for output lock read write as #1

'写文件的代码
savefile=true
close #1
exit function
errhandle:
close #1
end function

然后调用时,就自己用个循环去调用.如果这个过程返回F,当然就是出错了,你就延时后再调用(这些自己处理吧)

dim tmpi as long '控制超时的变量

tmpi=0
do
if savefile( "d:\xxxxxx.txt ")=true then
exit do '完成了,就退出
end If

sleep 2000 '延时两秒

tmpi=tmpi+1
if tmpi=5 then
msgbox "超时! " '十秒后超时.自己处理.
exit do
end If
loop

应该是可以运行的,懒得在IDE里试了,呵呵

热点排行