質問

要件:   エラー(スローされた例外)には、処理されているファイルは、エラー(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

実際には、私はそれがどのように見えるだろうと考えていたものよりもさらに恐ろしい出てきました。

今、私が何か間違ったことをやっている知っています。どのように私は本当に私はまだファイルを移動し、私のイベントを呼び出すために試みることができるように、キャッチにoccuring可能性のあるエラーを処理しようとすべきですか?

役に立ちましたか?

解決

すべては私にはよさそうだということ。キャッチの内側のtry catchブロックを持っていることは完全に合理的です。あなたが言及したすべてのものを確認することができますが、ネットワークがダウンして行くだろうか、単なるそのファイルを書き込むことができなくなる可能性が常にあります。あなたはその後やっていることはあなた次第です。エラーメッセージと一時停止処理が合理的であると思われます。

他のヒント

これは唯一の例外を使用しているとき、あなたがそれを行うだろう正確にどのようにあります。あなたはフラグを使用して検討するかもしれないが、それはどちらか良いとは限りません。

(Set file processing error flag to false)
Try
   (Do Some Logic, but an error happens)
Catch ex As Exception
   (Set file processing error flag to true)
End Try

IF (file processing error flag = true)
   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

未それほど良く...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top