VB中的Err對象

來源:互聯網
上載者:User

       在VB中經常會遇到錯誤的處理,Err是一個全域的對象。每個過程都最好防置一個處理錯誤的語句塊,最好是On
Err 放在第一行,在代碼的最後防止處理錯誤的代碼。下面總結一下關於Err的知識點。

       主要屬性:Number錯誤號碼(0-512系統使用,513-65535,+ vbObjectError類和對象錯誤)
                             沒錯誤Number=0;

Description什麼錯誤;

Source產生錯誤的地方

主要方法:Clear(清空錯誤恢複number=0);

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:             '錯誤處理放在結尾

    Print "錯誤"      '具體的錯誤處理

    MsgBox "aaaaaaa"

End Sub

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.