/ / Tente executar a captura - vb.net, for-loop, try-catch, console-application, continue

Tente pegar a execução - vb.net, loop, try-catch, console-application, continue

Meu requisito é ter um loop foreach dentro do bloco try, como abaixo:

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

meu requisito é sempre que uma exceção ocorre dentro do loop foreach, a execução não deve ser encerrada. Por exemplo,
1.File1 será processado
2.O arquivo 2 deve ser processado, mas devido a algum erro, o stmt de captura será excedido para registrar informações de erro Erro 3.Eventhough, o arquivo 3 deve ser processado
Por favor, sugira-me o código Vb.net para prosseguir nas etapas acima.

Respostas:

0 para resposta № 1

Coloque o Try ... Catch bloquear dentro do For Each bloco, não fora:

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

E, a propósito, os requisitos que você postou são contraditórios. Você quer que "a execução devemos ser encerrado "se o seu processamento gerar exceções. No entanto" mesmo que o erro tenha ocorrido, o arquivo 3 deve ser processado ", o que sugere que a execução não deveria ser encerrado.

Esta implementação não encerra a execução do loop.


0 para resposta № 2
Foreach file in folder1
Try
line 1
line 2 // throw exception
line 3
Catch Exception
// do error logging
End Try
End Foreach

Você precisa colocar o bloco Try / Catch no loop ForEach, pois o primeiro Excpetion terminará o loop