在VB中經(jīng)常會(huì)遇到錯(cuò)誤的處理,Err是一個(gè)全局的對(duì)象。每個(gè)過程都最好防置一個(gè)處理錯(cuò)誤的語句塊,最好是On Err 放在第一行,在代碼的最后防止處理錯(cuò)誤的代碼。下面總結(jié)一下關(guān)于Err的知識(shí)點(diǎn)。
主要屬性:Number錯(cuò)誤號(hào)(0-512系統(tǒng)使用,513-65535,+ vbObjectError類和對(duì)象錯(cuò)誤) 沒錯(cuò)誤Number=0;
Description什么錯(cuò)誤;
Source產(chǎn)生錯(cuò)誤的地方
主要方法:Clear(清空錯(cuò)誤恢復(fù)number=0);
Raise(產(chǎn)生希望得到的錯(cuò)誤)
錯(cuò)誤處理: 1>. On Error resume Next 不管錯(cuò)誤繼續(xù)執(zhí)行下一條語句(忽略錯(cuò)誤)
2>. On Error Goto [Line或字符串] 遇到錯(cuò)誤跳轉(zhuǎn)到指定的行
3>. IF (err.number>0) then …
4>. Resume [Line|Next|] 轉(zhuǎn)移到指定的行
下面是一段使用錯(cuò)誤屬性的代碼:
Private Sub Command2_Click()
On Error Resume Next
Print 10 / 0
Dim intRec As Integer
'顯示 錯(cuò)誤號(hào),錯(cuò)誤源,錯(cuò)誤描述
If Err.Number > 0 Then
intRec = MsgBox("錯(cuò)誤號(hào):" & Err.Number & Chr(10) & Chr(13) _
& "錯(cuò)誤源:" & Err.Source & Chr(10) & Chr(13) _
& "錯(cuò)誤描述:" & Err.Description, vbCritical)
End If
End Sub
為確保每次只有出現(xiàn)錯(cuò)誤的時(shí)候才處理錯(cuò)誤,應(yīng)該在錯(cuò)誤處理代碼的前面加上:Exit Sub、Exit Function 或 Exit Property語句。下面寫段標(biāo)準(zhǔn)的錯(cuò)誤處理代碼:
Private Sub Command2_Click()
On Error GoTo PROC_ERR '放在開頭
'.......
Print 10 / 0 '錯(cuò)誤處
'......
Exit Sub '防止正確操作也進(jìn)行錯(cuò)誤處理
PROC_ERR: '錯(cuò)誤處理放在結(jié)尾
Print "錯(cuò)誤" '具體的錯(cuò)誤處理
MsgBox "aaaaaaa"
End Sub
聯(lián)系客服