人人范文网 范文大全

vb错误处理

发布时间:2020-03-03 08:56:37 来源:范文大全 收藏本文 下载本文 手机版

Vb错误处理 出错处理

(1)设置错误陷阱

On Error Resume Next

若出现错误,则将当前错误语句忽略,执行下条语句。

On Error GoTo 语句标号

On Error GoTo 0 不进行任何处理

(2)编写错误处理程序

Resume:接着错误的地方执行,重试。

Resume Next:类似On Error Resume Next,忽略当前错误语句,执行下一语句Resume :到标号那里去处理。

过程级、模块级

节选:

Onerrorgoto标签是放在错误发生之前,有效范围是到此事件的结束,包括错误处理时发生的错误。(此时的错误一般是没有想到的,故也没有处理)所以要保证不要在错误处理的代码中写复杂的代码。

OnErrorGotoErr_Normal

\'一般代码

sql= \"insertinto......\"

OnErrorGotoErr_Roll

adocn.BeginTrans

adocn.Executesqladocn.CommitTrans

OnErrorGotoErr_Normal

....

Exitsub

Err_Normal:

\'正常错误处理

ExitSub

vb6.0 遇到错误能不退出吗

2012-1-25 20:04提问者: 咫·尺 | 浏览次数:278次

比如遇到数据溢出啊等,弹出错误以后,就直接把程序关闭了,数据都没保存,能弹出错误后,不关闭程序吗?

满意回答

插入以下代码:

On Error Resume Next

即可。意思是,程序遇到错误不理会,继续执行。

或者使用GoTo,比如下面的代码计算肯定是溢出的,但程序不会退出,不过会提示: On Error GoTo ToExit

Dim g, ErrNum As Boolean

g = 1

Do Until ErrNum

g = g * 1024

Loop

ToExit:

If Err.Number = 6 Then

Print \"程序溢出,计算结果不准确\", g

Exit Sub

End If

或者使用以下代码,可以完全显示计算过程:

Dim WithEvents List As ListBox

Private Sub Form_Load()

On Error GoTo ToExit

Dim g, ErrNum As Boolean

g = 1

Set List = Me.Controls.Add(\"VB.ListBox\", \"List\")

With List

.Left = 0

.Top = 0

.Width = Form1.Width490

.Visible = True

End With

Do Until ErrNum

g = g * 1024

List.AddItem g

Loop

ToExit:

If Err.Number = 6 Then

List.AddItem \"程序溢出,计算结果不准确\" & g

Exit Sub

End If

End Sub

追问

是不是要在每一个容易出错的sub里面都要这样加一下?有没有整体设置一下或者写代码的?每个sub都写一下也挺麻烦的

回答

首先,第一行是每个里边都需要有的,有了这一行,才会执行错误跳转。

比如上边的第二段代码也可以这样写:这样在每段容易出错的过程中,加上第一个的On Error GoTo ToExit和最后一行的ToExit: MsgBox \"程序出现错误!\" & Chr(10) & \"错误类型:\" & Error(Err.Number), 16即可。当然,你需要在Esub这个子过程中,把所有可能会涉及到的错误代码都添加上。如果只想知道哪里错了,也可以直接提醒,出错也是可以的

Private Sub Form_Load()

On Error GoTo ToExit

Dim g, ErrNum As Boolean

g = 1

Do Until ErrNum

g = g * 1024

Loop

ToExit: MsgBox \"程序出现错误!\" & Chr(10) & \"错误类型:\" & Error(Err.Number), 16

End Sub

错误处理

打印机错误处理方法

免抵退错误处理方法

vb

财务报表填写错误处理流程(材料)

VB说课稿

VB时钟

VB题库

VB学习材料

VB关键字

vb错误处理
《vb错误处理.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档