注文がエラーになった場合、注文処理を途中で中止する必要があります。
たとえば新規注文の場合、以下のような処理をおこないますが、(2)で誤った価格を指定した場合などはWEBサーバからエラーが通知されるため(3)以降を中止しなければなりません。
(1)新規注文の銘柄検索画面で銘柄コードを入力し、その銘柄の新規注文画面を表示する。
(2)株数や価格、執行条件を設定して注文処理し、注文確認画面を表示する。
(3)取引パスワードを設定して注文確認処理を行う。
(4)約定確認処理
エラーをどう通知しているかは証券会社によって異なるため、その証券会社にあったエラー検知処理を作成する必要があります。
楽天証券の場合は、class="error"があればその後にエラー内容が通知されるのでこの内容を検知し、エラー処理を行います。
例)<span class="error">価格は、半角数字9桁以内で入力してください。</span><BR>
Private Function fncGetErrMsg(ByRef inputdata As String) As String
Dim pattern As String = "span class.*error.*?>(?<errmsg>.*?)<"
Dim re As Regex = New Regex(pattern, RegexOptions.IgnoreCase Or RegexOptions.Singleline)
Dim m As Match = re.Match(inputdata)
fncGetErrMsg=""
If m.Success = True Then
fncGetErrMsg = m.Groups("errmsg").Value
Else
End If
End Function