欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 神奇的异常捕获

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有7057人关注过本帖树形打印复制链接

主题:神奇的异常捕获

帅哥哟,离线,有人找我吗?
onlylovexue
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:66 积分:475 威望:0 精华:0 注册:2012/2/29 14:13:13
神奇的异常捕获  发帖心情 Post By:2012/4/9 10:34:02 [只看该作者]

金字塔VBS不支持异常捕获吗?

 

Sub  shitSub

 

on error goto ERR
  a = 4 / 3
ERR:
 application.MsgOut("ERR")

 

End Sub

 

报语法错误     感谢


 回到顶部
帅哥哟,离线,有人找我吗?
Leon
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:金字塔养老院 帖子:509 积分:2425 威望:0 精华:0 注册:2012/3/2 12:50:05
  发帖心情 Post By:2012/4/9 10:45:32 [只看该作者]

//楼主少括号了

Sub  shitSub()

 

on error goto ERR
  a = 4 / 3
ERR:
 application.MsgOut("ERR")

 Resume

End Sub

[此贴子已经被作者于2012-4-9 10:51:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
onlylovexue
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:66 积分:475 威望:0 精华:0 注册:2012/2/29 14:13:13
  发帖心情 Post By:2012/4/9 11:01:48 [只看该作者]

括号不是重点   加上去也是错误  你那里可以?

 回到顶部
帅哥哟,离线,有人找我吗?
Leon
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:金字塔养老院 帖子:509 积分:2425 威望:0 精华:0 注册:2012/3/2 12:50:05
  发帖心情 Post By:2012/4/9 11:23:43 [只看该作者]

Resume

把方法要返回给调用方


 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2012/4/9 11:49:51 [只看该作者]

on error goto 指令不支持的

使用on error resume next代替

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
onlylovexue
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:66 积分:475 威望:0 精华:0 注册:2012/2/29 14:13:13
  发帖心情 Post By:2012/4/9 13:18:58 [只看该作者]

可否写一个完整的例子, 感谢

 

Sub  shitSub()

 

on error resume next  ERR
  a = 4 / 3
ERR:
 application.MsgOut("ERR")

 

End Sub


 回到顶部
帅哥哟,离线,有人找我吗?
Leon
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:金字塔养老院 帖子:509 积分:2425 威望:0 精华:0 注册:2012/3/2 12:50:05
  发帖心情 Post By:2012/4/9 13:28:30 [只看该作者]

正在处理,稍等


 回到顶部
帅哥哟,离线,有人找我吗?
Leon
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:金字塔养老院 帖子:509 积分:2425 威望:0 精华:0 注册:2012/3/2 12:50:05
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:66 积分:475 威望:0 精华:0 注册:2012/2/29 14:13:13
  发帖心情 Post By:2012/4/9 14:06:02 [只看该作者]

我直接把上面的sub 复制过去   竟然提示语法错误   求助...

 

On Error GoTo ErrorHandler ' 打开错误处理程序。    语法错误

[此贴子已经被作者于2012-4-9 14:06:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Leon
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:金字塔养老院 帖子:509 积分:2425 威望:0 精华:0 注册:2012/3/2 12:50:05
  发帖心情 Post By:2012/4/9 14:35:18 [只看该作者]

楼主直接复制过去当然会报错了,我那时在office里写的vba,金字塔内部不支持On Error GoTo“行”,使用On Error Resume Next

语句解释:  如果有运行时刻的错误发生,那么程序就从导致错误发生的语句的下一句继续执行下去。 而不要用我给出的On Error GoTo“行”语句,

 

我给出的例子,并不完整,只是说明如何进行异常捕获,这里要楼主去定义自己的错误处理,

 

 

 

[此贴子已经被作者于2012-4-9 14:57:08编辑过]

 回到顶部
总数 12 1 2 下一页