共用方式為


Error 物件

包含與提供者相關的單一作業相關數據存取錯誤的詳細數據。

言論

任何涉及 ADO 物件的作業都可能會產生一或多個提供者錯誤。 發生每個錯誤時,會將一或多個 Error 物件放在 Connection 物件的 Errors 集合中。 當另一個 ADO 作業產生錯誤時,會清除 Errors 集合,並將新的一組 Error 物件放在 Errors 集合中。

注意

每個 Error 物件都代表特定的提供者錯誤,而不是 ADO 錯誤。 ADO 錯誤會公開至運行時間例外狀況處理機制。 例如,在visual Basic Microsoft中,發生 ADO 特定錯誤會觸發 On Error 事件,並出現在 Error 物件中。 如需 ADO 錯誤的完整清單,請參閱 ErrorValueEnum 主題。

您可以讀取 Error 物件的屬性,以取得每個錯誤的特定詳細資料,包括下列各項:

  • Description 屬性,其中包含錯誤的文字。 這是預設屬性。

  • Number 屬性,其中包含錯誤常數的 Long 整數值。

  • Source 屬性,這個屬性會識別引發錯誤的 物件。 當您在 Errors 集合中,有數個 Error 物件遵循數據源的要求,這會特別有用。

  • SQLStateNativeError 屬性,這些屬性會提供來自 SQL 數據源的資訊。

發生提供者錯誤時,它會放在 Connection 物件的 Errors 集合中。 ADO 支援單一 ADO 作業傳回多個錯誤,以允許提供者特定的錯誤資訊。 若要在錯誤處理程式中取得這個豐富的錯誤資訊,請使用您所使用之語言或環境的適當錯誤攔截功能,然後使用巢狀循環來列舉 Errors 集合中每個 Error 物件的屬性。

注意

Microsoft Visual Basic 和 VBScript Users 如果沒有有效的 Connection 物件,您必須從 Error 物件擷取錯誤資訊。

就像提供者所做的一樣,ADO 會先清除 OLE 錯誤資訊 物件,再進行可能會產生新提供者錯誤的呼叫。 不過,Connection 物件上的 Errors 集合只會在提供者產生新錯誤,或呼叫 clear 方法 時清除並填入 。

某些屬性和方法會傳回警告,這些警告會顯示為 ErrorErrors 集合中的物件,但不會停止程序的執行。 在呼叫 ResyncUpdateBatchRecordset 物件 上的 CancelBatch 方法之前;Connection 物件上的 Open 方法;或在 Recordset 物件上設定 Filter 屬性,請在 Errors 集合上呼叫 Clear 方法。 如此一來,您可以讀取 Errors 集合的 Count 屬性,以測試傳回的警告。

Error 對象對於腳本而言並不安全。

本節包含下列主題。

另請參閱

Description、HelpContext、HelpFile、NativeError、Number、Source 和 SQLState 屬性範例 (VB)
Description、HelpContext、HelpFile、NativeError、Number、Source 和 SQLState 屬性範例 (VC++)
Connection 物件 (ADO)
Errors 集合 (ADO)
附錄 A:提供者