/ /キャッチ実行を試す-vb.net、for-loop、try-catch、console-application、continue

catchの実行を試してください - vb.net、for-loop、try-catch、console-application、continue

私の要件は、以下のようにtryブロック内にforeachループを持つことです。

Try
Foreach file in folder1
line 1
line 2 // throw exception
line 3
line 4
End Foreach
Catch Exception
// do error logging

私の要件は、foreachループ内で例外が発生するたびに、実行を終了しないことです。例えば、
1.File1が処理されます
2.ファイル2を処理する必要がありますが、何らかのエラーのため、キャッチ情報はエラー情報を記録するために実行されます 3.Eventhoughエラーが発生しました、ファイル3を処理する必要があります
上記の手順に進むには、Vb.netコードを提案してください。

回答:

回答№1は0

置く Try ... Catch 内部のブロック For Each 外ではなくブロック:

For Each file In folder1
Try
" line 1 "
" line 2 " // throw exception
" line 3 "
" line 4 "
Catch ex As Exception
" error logging "
End Try
Next file

ちなみに、投稿した要件は矛盾しています。あなたはそれをしたい「実行 〜すべき 処理が例外をスローした場合は終了します。ただし、「エラーが発生しても、ファイル3を処理する必要があります」。 いけない 終了します。

この実装は、ループの実行を終了しません。


回答№2の場合は0
Foreach file in folder1
Try
line 1
line 2 // throw exception
line 3
Catch Exception
// do error logging
End Try
End Foreach

最初のExcpetionがループを終了するため、Try / CatchブロックをForEachループに配置する必要があります