Platform SDK: DirectX

Visual Basic エラー トラッピング

[C++]

ここでは、Visual Basic でのアプリケーション開発について説明する。

[Visual Basic]

C 言語や C++ では、すべてのメソッドの呼び出しで HRESULT 値が返される。アプリケーションは、戻り値を調べて、それに基づいて処理を行ったり、またはそれを無視することができる。

DirectX for Visual Basic でのエラー処理は、まったく異なる。Visual Basic では、メソッド呼び出しは成功するか、失敗するかのいずれかである。Visual Basic には、S_FALSE などの正の HRESULT 値と等価の成功コードはない。呼び出しが失敗した場合、エラーが発生し、アプリケーションにエラー ハンドラがない限り処理は終了する。エラー番号は、Visual Basic のグローバル オブジェクト Err に設定される。各メソッドで発生する可能性のあるエラーのほとんどは、このドキュメントのメソッドのリファレンス ページに掲載している。

次の例では、gObjDPlayDirectPlay4 オブジェクトである。DirectPlay4.CreatePlayer 呼び出しが失敗すると、FAILEDCREATEPLAYER ラベルから処理が続行される。

Function GetPlayerID(PlayerName As String, PlayerHandle As String) _
        as Long
 
  On Error GoTo FAILEDCREATEPLAYER
  GetPlayerID = gObjDPlay.CreatePlayer(PlayerName, PlayerHandle, 0, 0)
  On Error GoTo 0
 
  ' このセクションのコードは、CreatePlayer が成功した場合にのみ実行される。
  .
  .
  .
  Exit Function
 
FAILEDCREATEPLAYER:
 
  If Err.Number = DPERR_INVALIDPLAYER Then 
      MsgBox ("Not a valid player.")
  Else
      MsgBox("Unidentified player creation error.")
  End If
  GetPlayerID = 0
 
End Function