は、私の現在の手順では、このような何かを行くだろう:VBScriptでは、Gotoをシミュレートするためにエラーを発生させることはできますか?私はVBAで作業していた場合
Do While MyFile.AtEndOfStream <> True
arrRecord = Split(MyFile.ReadLine, ",") ' Make an array of the values in this line
'There are certain records I don't want to process:
If arrRecord(1) <> "USA" then goto skip
If arrRecord(0) <= "12/31/2001" then goto skip
' Otherwise, run the rest of the code on this record
skip:
Loop
しかし、私は後藤のこのような機能を持っていないのVBScriptで働いています。
私はdelibaratlyエラーを提起して同じことをやっていると思っています。たとえば、
Do While MyFile.AtEndOfStream <> True
arrRecord = Split(MyFile.ReadLine, ",") ' Make an array of the values in this line
On Error Goto skip
'There are certain records I don't want to process:
If arrRecord(1) <> "USA" then Call NoSuchFunction
If arrRecord(0) <= "12/31/2001" then Call NoSuchFunction
' Otherwise, run the rest of the code on this record
skip:
Loop
これには何らかの問題がありますか?代わりにErr.Raiseを使うべきですか?
そのページは役に立ちますが、私の場合は該当するかどうかはわかりません。私は "Do Do"を完全に望んでいません。 Doループの次の繰り返しにジャンプしたいだけです。それを行う方法はありますか?さもなければ、私は複数のネストされたIFについています...そして、ループします。 –
ハッピーなやり方は途中で「Do Do ...」と「Loop While False」を「Do Do」にすることです。しかし、あなたはGotoをエミュレートしようとしています。これは、とにかく最も洗練されたコードではないことを意味します。あなたのコントロールフローがより明確になるように物事を再構築する方法があります。 –