以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- 神奇的异常捕获 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=10972) |
-- 作者:onlylovexue -- 发布时间:2012/4/9 10:34:02 -- 神奇的异常捕获 金字塔VBS不支持异常捕获吗?
Sub shitSub
on error goto ERR
End Sub
报语法错误 感谢 |
-- 作者:Leon -- 发布时间:2012/4/9 10:45:32 -- //楼主少括号了 Sub shitSub()
on error goto ERR Resume End Sub [此贴子已经被作者于2012-4-9 10:51:10编辑过]
|
-- 作者:onlylovexue -- 发布时间:2012/4/9 11:01:48 -- 括号不是重点 加上去也是错误 你那里可以? |
-- 作者:Leon -- 发布时间:2012/4/9 11:23:43 -- Resume 把方法要返回给调用方 |
-- 作者:guotx2010 -- 发布时间:2012/4/9 11:49:51 -- on error goto 指令不支持的 使用on error resume next代替
|
-- 作者:onlylovexue -- 发布时间:2012/4/9 13:18:58 -- 可否写一个完整的例子, 感谢
Sub shitSub()
on error resume next ERR
End Sub |
-- 作者:Leon -- 发布时间:2012/4/9 13:28:30 -- 正在处理,稍等 |
-- 作者:Leon -- 发布时间:2012/4/9 13:34:18 -- Sub OnErrorStatementDemo() On Error GoTo ErrorHandler \' 打开错误处理程序。 Open "TESTFILE" For Output As #1 \' 打开输出文件。 Kill "TESTFILE" \' 试图删除已打开的文件。 On Error Goto 0 \' 关闭错误陷阱。 On Error Resume Next \' 改变错误陷阱。 \' 试图启动不存在的对象 ObjectRef = GetObject("MyWord.Basic") \'检查可能发生的 Automation 错误。 If Err.Number = 440 Or Err.Number = 432 Then \' 告诉用户出了什么事。然后清除 Err 对象。 Msg = "自动化错误!" MsgBox Msg Err.Clear \' 清除 Err 对象字段。 End If Exit Sub \' 退出程序,以避免进入错误处理程序。 ErrorHandler: \' 错误处理程序。 Select Case Err.Number \' 检查错误代号。 Case 55 \' 发生“文件已打开”的错误。 Close #1 \' 关闭已打开的文件。 Case Else \' 处理其他错误状态 . . . End Select Resume \' 将控制返回到产生错误的语句。 End Sub |
-- 作者:onlylovexue -- 发布时间:2012/4/9 14:06:02 -- 我直接把上面的sub 复制过去 竟然提示语法错误 求助...
On Error GoTo ErrorHandler \' 打开错误处理程序。 语法错误 [此贴子已经被作者于2012-4-9 14:06:26编辑过]
|
-- 作者:Leon -- 发布时间:2012/4/9 14:35:18 -- 楼主直接复制过去当然会报错了,我那时在office里写的vba,金字塔内部不支持On Error GoTo“行”,使用On Error Resume Next 语句解释: 如果有运行时刻的错误发生,那么程序就从导致错误发生的语句的下一句继续执行下去。 而不要用我给出的On Error GoTo“行”语句,
我给出的例子,并不完整,只是说明如何进行异常捕获,这里要楼主去定义自己的错误处理,
[此贴子已经被作者于2012-4-9 14:57:08编辑过]
|