VB 某些异常捕获后无法处理

[复制链接]
查看11 | 回复3 | 2011-7-10 02:43:54 | 显示全部楼层 |阅读模式
如下一段VB代码:
OnErrorGotoErrhandle
NameAasB
c=d
Errhandle:
ifErr.Number=\"58\"then
\'代码
endif

问题:
当程序运行到NameAasB语句时,捕获异常错误,错误代码为58,即文件已存在,此时,程序应该转而执行Errhandle:
ifErr.Number=\"58\"then语句才对,但是,程序要么继续运行执行c=d语句,或者干脆就报错退出运行。
为什么既然已经捕获了异常,怎么不去执行异常处理代码,还会继续执行错误的代码或者就出错退出运行呢?如何解决此问题?
回复

使用道具 举报

千问 | 2011-7-10 02:43:54 | 显示全部楼层
OnErrorGotoErrhandle_error
NameAasB
c=d
Errhandle_error:
ifErr.Number=\"58\"then
\'代码
endif
就可以了,加个_error即可









<h4class=\"ask\">追问


经测试,一种正确的方法是:
OnErrorResumenext
NameAasB
ifErr.Number=58thenGotoErrLineLabel
c=d
ErrLineLabel:
\'代码
这样子处理后,异常被捕获后就不再执行c=d语句了,也不报运行错误而中途退出了。
你刚才的方法,经测试,仍然会弹出运行中实时错误而终止。
回复

使用道具 举报

千问 | 2011-7-10 02:43:54 | 显示全部楼层
我的方法没有问题的,我的软件就是这样的,运行过无数遍了。。该不会是你不想给我加分吧?
回复

使用道具 举报

千问 | 2011-7-10 02:43:54 | 显示全部楼层
呵呵,真的不是不想给你加分,给你加100分我都愿意,但的确在我的系统上调试时,你的方法仍然会报错,不知何故。我并没有否定你的方法,我只是说你的方法在我的系统上运行时仍然报错。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行