我的要求是在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,但由于某些错误,catch stmt将被用于记录错误信息
3.发生了一次错误,应该处理文件3
请建议我使用Vb.net代码继续执行上述步骤。
答案 0 :(得分: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",这表明执行不应该终止。
此实现不会终止循环执行。
答案 1 :(得分:0)
Foreach file in folder1
Try
line 1
line 2 // throw exception
line 3
Catch Exception
// do error logging
End Try
End Foreach
你需要将Try / Catch Block放在ForEach循环中,因为第一个Excpetion将结束循环