try-catch-finally
そこで、ネストされたブロックの動作について疑問に思っていました。
finally
つまり、最初のブロック内に別のtry-catch-finally
ブロックがあり、内側のブロックで例外が発生した場合はどうなるでしょうかfinally
??
例外は伝搬されますか? で、どこかに引っかかるの?
どこで例外をキャッチする必要がありますか? 内側のfinally
ブロックで、または伝播している場合は、上位のコードからキャッチする必要がありますか?
例:
static bool Func()
{
try
{}
catch
{}
finally
{
try
{}
catch
{}
finally
{
throw new ApplicationException();
}
}
}