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

怎么改写Err.Raise,使之不弹出对话框只是中止程序

2012-02-03 
如何改写Err.Raise,使之不弹出对话框只是中止程序有个中止程序的问题困扰了我一个礼拜,始终没有相处解决方

如何改写Err.Raise,使之不弹出对话框只是中止程序
有个中止程序的问题困扰了我一个礼拜,始终没有相处解决方案,特来请教各位高手
背景:
1.目前我们公司的一套程序由于历史遗留问题,没有采用正规的函数返回值的方法来弹出报错对话框,而是使用了大量的Err.Raise 方法来弹出错误信息,用户点确定后,程序即中止,不在往下执行
2.目前我们需要在现在的代码上增加自动执行程序的功能,所以当程序遇到报错后,就弹出了这个对话框,需要人工去干预,不会自动中止

期望解决的方法:能有其他方法来代替VB 自带的Err.Raise方法,使之不弹出对话框只是中止程序

范例:
Err.Raise 1, , "Lot:" & sLotID & "不存在!"

[解决办法]
我1楼不是给你答案了吗?
无论你的错误在哪一层,在最初的时候用
On Error Resume Next
就可以忽略错误的发生,还可以用
If Err.Number <> 0 Then
来判断中间是否发生错误,并可进行相应处理,如:

VB code
Dim lngTemp As LongPrivate Sub Form_Load()    On Error Resume Next    lngTemp = 0         ' 改变这个值为0或1得到不同的结果    CallMe    If Err.Number <> 0 Then        Err.Clear        GoTo ErrOver    End If    MsgBox "正常执行完成"    Exit SubErrOver:    MsgBox "发生错误结束"End SubPrivate Sub CallMe()    If lngTemp <> 1 Then        CallMe2    End IfEnd SubPrivate Sub CallMe2()    Err.Raise 1, , "Lot:" & sLotID & "不存在!"End Sub 

热点排行