Error オブジェクト

プロバイダーが関係する 1 つの操作に関するデータ アクセス エラーの詳細が含まれます。

注釈

ADO オブジェクトを含む操作では、1 つまたは複数のプロバイダー エラーが発生する可能性があります。 各エラーが発生すると、Error オブジェクトが Connection オブジェクトの Errors コレクションに配置されます。 別の ADO 操作でエラーが生成されると、 Errors コレクションがクリアされるので、Error オブジェクトの新しいセットは Errors コレクションに配置されます。

注意

Error オブジェクトは、ADO エラーではなく、特定のプロバイダー エラーを表します。 ADO エラーは、実行時の例外処理メカニズムに公開されます。 たとえば、Microsoft Visual Basic では、ADO 固有のエラーが発生すると On Error イベントがトリガーされ、Error オブジェクトに表示されます。 ADO エラーの詳細な一覧については、「ErrorValueEnum」トピックを参照してください。

Error オブジェクトのプロパティを読み取って、次のような各エラーに関する具体的な詳細を取得することができます。

  • Description プロパティ。エラーのテキストが含まれています。 これは既定のプロパティです。

  • Number プロパティ。エラー定数の Long 整数値が含まれています。

  • Source プロパティ。エラーを生成したオブジェクトを特定します。 これは、データ ソースへの要求に続いて Errors コレクション内にいくつかの Error オブジェクトがある場合に特に便利です。

  • SQLState および NativeError プロパティ。SQL データ ソースからの情報を提供します。

プロバイダー エラーが発生すると、Connection オブジェクトの Errors コレクションに配置されます。 ADO は、プロバイダーに固有のエラー情報を取得できるように、1 つの ADO 操作で複数のエラーを返すことをサポートしています。 エラー ハンドラーでこの豊富なエラー情報を取得するには、使っている言語または環境に適したエラートラップ機能を使い、入れ子になったループを使って Errors コレクション内の各 Error オブジェクトのプロパティを列挙します。

注意

Microsoft Visual Basic と VBScript ユーザー: 有効な Connection オブジェクトがない場合は、Error オブジェクトからエラー情報を取得する必要があります。

プロバイダーと同様に、ADO では、新しいプロバイダー エラーが発生する可能性がある呼び出しを行う前に、OLE Error Info オブジェクトをクリアします。 ただし、Connection オブジェクトの Errors コレクションがクリアされ、設定されるのは、プロバイダーが新しいエラーを生成したとき、または Clear メソッドが呼び出されたときのみです。

一部のプロパティとメソッドが返す警告は、Errors コレクション内の Error オブジェクトとして表示されますが、プログラムの実行を停止しません。 Recordset オブジェクトで ResyncUpdateBatch、または 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: プロバイダー