try-catch-finallyパターンは、意図したとおりに使用すると非常に便利で強力なパターンです。 finallyブロックの例外処理はではなく、が推奨されていますが、それはあまり意味がありません。
コードをパターンに合わせて再編成してください。逆の方法ではありません。
小さな例:
また
var reader = new StreamReader(path);
try
{
// Do your work here
reader.ReadToEnd();
}
catch (IOException ex)
{
// Handle specific error here
ShowUserError(ex.Message);
}
catch (Exception ex)
{
// Handle general error here
LogError(ex);
}
finally
{
// Perform clean up here
// This code will run regardless if there was an error or not
reader.Close();
}
は、Try...Catch...Finally StatementsのためのMSDNドキュメントを見てください。
何が必要ですか?あなたはちょうど 'キャッチ'ブログを取り除いて、 'finally'ブロックを持つことができました。 – rkg
finallyブロックに例外を渡すことはありません。 –
解決しようとしている問題を明確にすることはできますか?確かにそれを解決するためのよりよい方法があります! –