Err 物件
包含 執行階段錯誤的相關資訊。
註解
Err物件的屬性是由錯誤的產生器所設定:Visual Basic、物件或程式設計人員。
Err物件的預設屬性是Number。 因為預設屬性可以以物件名稱 Err表示,所以使用 Err 函 數或 Err 語句撰寫的舊程式碼不需要修改。
發生執行階段錯誤時, Err 物件的屬性會填入可唯一識別錯誤的資訊,以及可用來處理它的資訊。 若要在程式碼中產生執行階段錯誤,請使用 Raise 方法。
Err物件的屬性會重設為零或零長度字串 (「」) 在錯誤處理常式內的Exit Sub、Exit 函數、Exit 屬性或Resume Next語句之後。 在錯誤處理常式之外使用任何形式的 Resume 語句,將不會重設 Err 物件的屬性。 Clear方法可用來明確重設Err。
使用 Raise 方法,而不是 Error 語句,來產生系統錯誤和類別模組的執行階段錯誤。 在其他程式碼中使用 Raise 方法取決於您想要傳回的資訊豐富性。
Err物件是具有全域範圍的內建物件。 不需要在程式碼中建立實例。
範例
本範例會使用Err物件的屬性, (Number、Description、HelpCoNtext、HelpFile、Source) 來建構錯誤訊息對話方塊。
請注意,如果您先使用 Clear 方法,當您使用 Raise 方法產生 Visual Basic 錯誤時,Visual Basic 的預設值會變成 Err 物件的屬性。
Dim Msg
' If an error occurs, construct an error message
On Error Resume Next ' Defer error handling.
Err.Clear
Err.Raise 6 ' Generate an "Overflow" error.
' Check for error, then show message.
If Err.Number <> 0 Then
Msg = "Error # " & Str(Err.Number) & " was generated by " _
& Err.Source & Chr(13) & Chr(13) & Err.Description
MsgBox Msg, vbMsgBoxHelpButton, "Error", Err.Helpfile, Err.HelpContext
End If
另請參閱
- 陳述式 (Visual Basic for Applications)
- 處理 VBA 中的執行階段錯誤
- 可截獲的錯誤
- 物件 (Visual Basic for Applications)
- Office 的物件文件庫參考 (成員、屬性、方法) (機器翻譯)
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。