Share via


Raise 方法 (Err Object)

更新:2007 年 11 月

產生執行階段錯誤,可用來取代 Error 陳述式。

Public Sub Raise( _
   ByVal Number As Integer, _
   Optional ByVal Source As Object = Nothing, _
   Optional ByVal Description As Object = Nothing, _
   Optional ByVal HelpFile As Object = Nothing, _
   Optional ByVal HelpContext As Object = Nothing _
)

參數

  • Number
    必要項。識別錯誤性質的 Long 整數。Visual Basic 錯誤代碼是介於 0–65535 範圍之間:範圍 0–512 是保留給系統錯誤,而範圍 513–65535 則是供使用者定義錯誤使用。當您在類別模組中將 Number 屬性設定為自己的錯誤代碼時,是將錯誤代碼數字加入至 vbObjectError 常數。例如,若要產生錯誤代碼 513,請將 vbObjectError + 513 指派給 Number 屬性。

  • Source
    選擇項。String 運算式,用來命名產生錯誤的物件或應用程式。設定物件的這個屬性時,請使用下列格式:project.class。如果未指定 Source,則會使用目前 Visual Basic 專案的處理序 ID。

  • Description
    選擇項。描述錯誤的 String 運算式。如果未指定,則會檢查 Number 屬性中的值。如果這個值會對應到 Visual Basic 執行階段錯誤代碼,則由 Error 函式傳回的字串會用於當做 Description 屬性。如果沒有任何 Visual Basic 的錯誤代碼可以對應到 Number 屬性,則會使用「應用程式定義或物件定義的錯誤」訊息。

  • HelpFile
    選擇項,說明檔 (可找到錯誤的說明) 的完整路徑。如果未指定,則 Visual Basic 會使用 Visual Basic 說明檔的完整磁碟機、路徑及檔案名稱。

  • HelpContext
    選擇項,可識別 HelpFile 中提供之錯誤說明的主題代碼。如果省略的話,則會使用對應到 Number 屬性之 Visual Basic 說明檔主題代碼的錯誤 (如果有的話)。

例外狀況

例外狀況類型

錯誤代碼

狀況

ArgumentException

5

Number 大於 65535。

如果將使用非結構化錯誤處理的 Visual Basic 6.0 應用程式升級,請參閱「錯誤代碼」資料行 (您可以將錯誤代碼與 Number 屬性 (Err 物件) 比對)。但是,請盡可能考慮以 Visual Basic 的結構化例外處理概觀 取代這類錯誤控制項。

備註

所有 Raise 引數 (不包含 Number) 都是選擇性的。如果省略選擇性引數,而 Err 物件的屬性設定包含尚未清除的值,則這些值會當做您的錯誤代碼。

因為 Err 物件會提供比使用 Error 陳述式產生錯誤時還豐富的資訊,所以 Raise 用於產生撰寫類別模組時的錯誤很有用。例如,在使用 Raise 方法的情況下,就可在 Source 屬性中指定產生錯誤的來源、可參考錯誤的線上說明等等。

範例

這個範例將使用 Err 物件的 Raise 方法,在以 Visual Basic 寫入的函式內產生錯誤。呼叫函式可以攔截此錯誤,並透過訊息方塊將錯誤報告給使用者。

Const WidthError As Integer = 1
Const WidthHelp As Object = 101

Sub TestWidth(ByVal width As Integer)
  If width > 1000 Then
      Err.Raise(vbObjectError + 512 + WidthError, "TestWidth", _
      "Width must be less than 1000.", "HelpFile.hlp", WidthHelp)
  End If
End Sub

Sub CallingProcedure()
  Try
    TestWidth(2000)
  Catch ex As Exception
    MsgBox(ex.Message)
  End Try
End Sub

需求

命名空間Microsoft.VisualBasic

**模組︰**ErrObject

組件:Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)

請參閱

參考

Err 物件 (Visual Basic)

Clear 方法 (Err 物件)

Description 屬性 (Err 物件)

Error 陳述式

HelpContext 屬性 (Err 物件)

HelpFile 屬性 (Err 物件)

LastDllError 屬性 (Err 物件)

Number 屬性 (Err 物件)

On Error 陳述式 (Visual Basic)

Source 屬性 (Err 物件)

ArgumentException