在VB中经常会遇到错误的处理,Err是一个全局的对象。每个过程都最好防置一个处理错误的语句块,最好是On Err放在第一行,在代码的最后防止处理错误的代码。下面总结一下关于Err的知识点。
主要属性:Number错误号(0-512系统使用,513-65535,+vbObjectError类和对象错误) 没错误Number=0;
Description什么错误;
Source产生错误的地方
Raise(产生希望得到的错误)
错误处理:1>. On Error resume Next 不管错误继续执行下一条语句(忽略错误)
2>. On Error Goto [Line或字符串]遇到错误跳转到指定的行
3>. IF (err.number>0) then …
4>. Resume [Line|Next|] 转移到指定的行
Private Sub Command2_Click()
On Error Resume Next
Print 10 / 0
Dim intRec As Integer
If Err.Number > 0 Then
intRec = MsgBox("错误号:" & Err.Number & Chr(10) & Chr(13) _
& "错误源:" & Err.Source & Chr(10) & Chr(13) _
& "错误描述:" & Err.Description,vbCritical)
End If
End Sub
为确保每次只有出现错误的时候才处理错误,应该在错误处理代码的前面加上:Exit Sub、Exit Function或Exit Property语句。下面写段标准的错误处理代码:
Private Sub Command2_Click()
On Error GoTo PROC_ERR放在开头
'.......
Print 10 / 0错误处
'......
Exit Sub防止正确操作也进行错误处理
PROC_ERR:'错误处理放在结尾
MsgBox "aaaaaaa"
End Sub