添加的自定义函数,在运行的过程中,如果出现异常,能不能进行捕获处理,而不是终止执行?
搭车同问,我有一个写日志的函数,但日志文件跟别的程序冲突导致VBS引擎中断。求解决方案,及时冲突也可以跳过错误,千万别让VBS引擎中断。
Sub SetSignalSystemOK(sTime)
file = "Z:\SystemOK.log"
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile(file, 2, True)
a.WriteLine(sTime)
a.Close
End Sub
出错在Set a = fs.OpenTextFile(file, 2, True)这句,可能是别的程序刚好在访问这个文件。
补充一点,当时对话框弹出的错误值好像是70,也就说访问这个文件时没有权限。
运气不好,跑了2个月就今天出现了一次。
描述
启动错误处理程序。
语法
On Error
Resume Next
说明
若不使用 On Error Resume Next 语句,发生的任何运行时错误都将是致命的,即,显示错误信息并终止运行。
On Error Resume Next 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用过程(该过程含有 On Error Resume Next 语句)的语句继续运行。这个语句可以不顾运行时错误,继续执行程序,之后您可以在过程内部建立错误处理例程。在调用另一个过程时,On Error Resume Next 语句变为非活动的。所以,如果希望在例程中进行内部错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。