要求:发生错误(抛出异常)时,应将正在处理的文件移动到有错误文件的文件夹(app.config 设置)。
问题:我可以处理这个问题的唯一方法是在主 Try/Catch 内有一个嵌套的 Try/Catch 来尝试移动文件,这样如果移动失败,则会引发另一个异常。我知道我可以尽我所能确保目录存在,赋予权限,但由于它是一个网络驱动器......我只知道在某些时候一定会发生错误。
例子
Try
(Do Some Logic, but an error happens)
Catch ex As Exception
Try
(Attempt to move file)
Catch exinner as Exception
Throw New Exception("Cannot move file to Error Directory", innerex)
End Try
(Raise Error Event for logging by form/batch app)
End Try
实际上,这比我想象的要可怕得多。
现在我知道我做错了什么。我应该如何真正尝试处理捕获中可能发生的错误,以便我仍然可以移动文件并尝试调用我的事件?