Raise 方法
產生 執行階段錯誤。
語法
物件。引發數位、 來源、 描述、 說明檔、 helpcoNtext
Raise方法具有下列物件限定詞和具名引數:
參數 | 描述 |
---|---|
物件 | 此為必要動作。 永遠是 Err 物件。 |
number | 必要項目。 識別 錯誤本質的長整數。 Visual Basic 錯誤 (Visual Basic 定義和使用者定義錯誤) 介於 0-65535 的範圍內。 範圍 0–512 保留給系統錯誤;範圍 513–65535 適用于使用者定義的錯誤。 在類別模組中將 Number 屬性設定為您自己的錯誤碼時,您會將錯誤碼編號新增至 vbObjectError常數。 例如,若要產生 錯誤號碼 513,請將 vbObjectError + 513 指派給 Number 屬性。 |
source | 選用。 為產生錯誤的物件或應用程式命名的字串表達式。 設定物件的 Source 屬性時,請使用表單 project.class。 如果未指定 source ,則會使用目前 Visual Basic 專案的 程式設計識別碼。 |
描述 | 選用。 描述錯誤的字串運算式。 如果未指定,則會檢查 Number 中的值。 如果可以對應至 Visual Basic 執行階段錯誤碼,則 Error 函式 所傳回的字串會當做 Description使用。 如果沒有對應至 Number的 Visual Basic 錯誤,則會使用「應用程式定義或物件定義錯誤」訊息。 |
說明檔案 | 選用。 說明檔的完整路徑,可在其中找到此錯誤的說明。 如果未指定,Visual Basic 會使用 Visual Basic 說明檔的完整磁片磁碟機、路徑和檔案名。 請參閱 HelpFile。 |
helpcoNtext | 選用。 內容識別碼,可識別 說明檔 中提供錯誤說明的主題。 如果省略,則會使用對應至 Number 屬性之錯誤的 Visual Basic 說明檔案內容識別碼,如果存在的話。 請參閱 HelpCoNtext。 |
註解
除了number之外,所有引數都是選擇性的。 如果您在不指定某些引數的情況下使用 Raise ,而且 Err 物件的屬性設定包含尚未清除的值,這些值會做為錯誤的值。
Raise 是用來產生執行階段錯誤,而且可以用來取代 Error 語句。
在撰寫類別模組時,Raise 對於產生錯誤很有用,因為當您使用Error語句產生錯誤時,Err物件會提供比可能更豐富的資訊。 例如,使用 Raise 方法時,可以在 Source 屬性中指定產生錯誤的來源、可參考錯誤的線上說明等等。
範例
這個範例會使用 Err 物件的 Raise 方法,在以 Visual Basic 撰寫的 Automation 物件內產生錯誤。 其具有程式設計識別碼 MyProj.MyObject
。 在 Macintosh 上,預設磁碟機名稱為 "HD",而路徑名稱的部分則是以分號隔開,而不是反斜線。
Const MyContextID = 1010407 ' Define a constant for contextID.
Function TestName(CurrentName, NewName)
If Instr(NewName, "bob") Then ' Test the validity of NewName.
' Raise the exception
Err.Raise vbObjectError + 513, "MyProj.MyObject", _
"No ""bob"" allowed in your name", "c:\MyProj\MyHelp.Hlp", _
MyContextID
End If
End Function
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應