タイトルは少し誤解を招くかもしれませんが、問題は私には非常に簡単に思えます。try-catch-finally
ブロックがあります。finally
ブロックから例外がスローされた場合にのみ、ブロック内のコードを実行したいと思いtry
ます。現在のコードの構造は次のとおりです。
try
{
//Do some stuff
}
catch (Exception ex)
{
//Handle the exception
}
finally
{
//execute the code only if exception was thrown.
}
今のところ、私が考えることができる唯一の解決策は、次のようなフラグを設定することです。
try
{
bool IsExceptionThrown = false;
//Do some stuff
}
catch (Exception ex)
{
IsExceptionThrown = true;
//Handle the exception
}
finally
{
if (IsExceptionThrown == true)
{
//execute the code only if exception was thrown.
}
}
これに何か悪いことがあるわけではありませんが、スローされた例外があるかどうかを確認するための別の(より良い)アプローチがあるかどうか疑問に思いますか?