Microsoft DirectX 8.0 (Visual Basic)

エラー処理

Microsoft® Visual Basic® では、メソッド呼び出しは成功するか、失敗するかのいずれかである。呼び出しが失敗した場合、エラーが発生し、Visual Basic の Err グローバル オブジェクトにエラー番号が設定される。その場合、アプリケーションでは、Err オブジェクトを調べるエラー ハンドラに分岐し、エラーに対処する必要がある。さもないと、実行は終了する。しかし、すべての Microsoft DirectX® Visual Basic メソッドの基になる C++ メソッドは、エラーの処理方法が多少異なる。場合によっては、Visual Basic のエラーを解釈するために、C++ の戻り値についての知識が必要になる。

C と C++ では、すべてのメソッド呼び出しで HRESULT 値が返される。この値は、処理の結果を示す、特定の形式を持つ整数である。メソッドで返される HRESULT は、単に処理の成功または失敗を示すこともある。しかし、メソッドによっては、多くの HRESULT 値を使用し、成功と失敗のさまざまなモードを示すこともある。実際、場合によっては、成功を示す複数の戻り値がある。多くの HRESULT 値はシステム標準であり、Winerror.h ヘッダー ファイルに定義されている。通常、システム標準値では成功のコードに S_ プレフィクス、失敗には E_ プレフィクスが使用される。たとえば、成功コードとしては S_OK、失敗コードとして E_FAIL が使用されることが多い。通常 Visual Basic メソッドの基になる C++ コードが標準的な HRESULT 値を返すと、Visual Basic ランタイムによりこの値はトラップされ、Visual Basic の標準エラー コードが設定される。

また、多くの DirectX メソッドでは、1 つまたは複数の標準以外の HRESULT 値がサポートされている。通常、これらの値は列挙で定義されており、各値の意味はメソッドのリファレンスに説明されている。これらの値は標準ではないため、対応する Visual Basic のエラー コードはない。その代わり、Visual Basic ランタイムでは Err.Number をその HRESULT 値に設定する。値の意味については、メソッドのリファレンスを参照すること。HRESULT 値の詳細については、Microsoft Platform Software Development Kit (SDK) の COM のドキュメントを参照すること。