在VB中經(jīng)常會(huì )遇到錯誤的處理,Err是一個(gè)全局的對象。每個(gè)過(guò)程都最好防置一個(gè)處理錯誤的語(yǔ)句塊,最好是On Err 放在第一行,在代碼的最后防止處理錯誤的代碼。下面總結一下關(guān)于Err的知識點(diǎn)。
主要屬性:Number錯誤號(0-512系統使用,513-65535,+ vbObjectError類(lèi)和對象錯誤) 沒(méi)錯誤Number=0;
Description什么錯誤;
Source產(chǎn)生錯誤的地方
主要方法:Clear(清空錯誤恢復number=0);
Raise(產(chǎn)生希望得到的錯誤)
錯誤處理: 1>. On Error resume Next 不管錯誤繼續執行下一條語(yǔ)句(忽略錯誤)
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
為確保每次只有出現錯誤的時(shí)候才處理錯誤,應該在錯誤處理代碼的前面加上:Exit Sub、Exit Function 或 Exit Property語(yǔ)句。下面寫(xiě)段標準的錯誤處理代碼:
Private Sub Command2_Click()
On Error GoTo PROC_ERR '放在開(kāi)頭
'.......
Print 10 / 0 '錯誤處
'......
Exit Sub '防止正確操作也進(jìn)行錯誤處理
PROC_ERR: '錯誤處理放在結尾
Print "錯誤" '具體的錯誤處理
MsgBox "aaaaaaa"
End Sub
聯(lián)系客服