タイトル : Re: gotoなしに書き直すには? 投稿日 : 2013/06/28(Fri) 21:38 投稿者 : 魔界の仮面弁士
> gotoなしに書き直すには? 意図があって使う分には構わないと思っている派ですが、 自分で使うことはまず無いですね…。(^^; > EndMea エンドメア ? > for nextループが複数あり、exit forだけでは次のループに飛んでしまいます。 こういうことで良いのかな? Try For i = 0 To 100 If blnStop Then Exit Try DoSomething1() Next For i = 0 To intNumMeasure2 If blnStop Then Exit Try DoSomething2() Next DoSomething3() Finally If blnStop Then MsgBox("now aborted") End If End Try VB6 だと、Exit Do や Exit While で代用しているものを見たことがあります。 あるいは、それぞれの処理を別の Function やラムダ式に切り出すとか。 Sub Main() Dim done As Boolean = FirstLoop() If done Then done = SecondLoop() If done Then DoSomething3() Else MsgBox("now aborted") End Sub Function FirstLoop() As Boolean For i = 0 To 100 If blnStop Then Return False DoSomething1() Next Return True End Function Function SecondLoop() As Boolean For i = 0 To intNumMeasure2 If blnStop Then Return False DoSomething2() Next Return True End Function |