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

关于容错话语的嵌套

2013-01-04 
关于容错语句的嵌套本帖最后由 xn1980216 于 2009-12-12 11:34:32 编辑Private Sub Form_Load()

关于容错语句的嵌套
本帖最后由 xn1980216 于 2009-12-12 11:34:32 编辑 Private Sub Form_Load()

'===========================查看图片文件夹是否存在,如果没有就建立===============================

If Dir(App.Path & "\模版照片", vbDirectory) = "" Then MkDir App.Path & "\模版照片"

If Dir(App.Path & "\照片", vbDirectory) = "" Then MkDir App.Path & "\照片"


'====================================检测系统默认照片是否存在====================================
On Error GoTo DealError
    Dim X, y As String
    X = App.Path & "\模版照片\1.jpg"
    y = App.Path & "\1.jpg"
    FileCopy X, y
    
    '删除临时照片
    Kill y
    
    Exit Sub
     
DealError:
    MsgBox "检测到系统默认图片丢失,系统开始自我修复", , "系统提示"
    Dim z As String
    z = "C:\Documents and Settings\All Users\Documents\My Pictures\示例图片\Water lilies.jpg"
    '==============子错误开始===================
    On Error GoTo pp
        FileCopy z, X
    pp:
        MsgBox "操作系统默认图片不存在", , "系统信息"
        Exit Sub
    Resume
    '==============子错误结束===================
    MsgBox "系统自我修复成功", , "修复成功"
    
    '在跳回到错误处运行
    Resume

End Sub
'==============================================================================
请问我这样写有问题么?
[解决办法]

引用:
那应该怎么写啊?


同一个过程只能实时启动一个错误处理程序,错处处理方式的转换要先终止前一个错误处理程序,然后再启动新的错误处理程序,你的情况可以将所谓“子错误开始”写成一个function,用返回bool标志是否成功,再由主程决定处理方式...

热点排行