質問: New XmlDocument() xmlDoc.LoadXml(xmlStr) 'DateGridに入力(実際には10項目くらい取得しております) dGrid.CurrentRow.Cells(1).Value=xmlDoc.Item("DATA").InnerText 'ポイントB streamReader.Close() stream.Close() res.Close() --- 当初ポイントBのあたりで、xmlDoc.Item("DATA").InnerText の値がない場合(503エラー)にポイントAまで戻すようなループを考えていたのですが、そもそも503エラーのときはポイントCで引っかかるので、req.GetResponseが503という判定をどのようにしてよいかわからずという状況です。 宜しくお願いいたします。
回答: try構文はご存知ですか? 「なにかエラーになった」ということを捕捉してくれるようなものと考えて下さい。 実際にはエラーが発生した瞬間にCatch文に飛びます。 自己使用のPGということであまり凝る必要もなさそうですし、以下のような感じでどうでしょうか。 何かエラーが発生したらwhile文を繰り返すようなコードです。 エラーが発生しなければExit Whileでループを抜けます。 すみません、下記コードで実際に動くかどうかは自信がありませんが参考になれば。。 VBではないようですが同様のロジックはこちらにも記載されています。 ``` ’ポイントA req = WebRequest.Create(URL) While True try res = req.GetResponse 'ポイントC 503エラーのときはここで引っかかる。 Exit While Catch ex As Exception '何もしない=次のループが始まる End try End While stream = res.GetResponseStream ```