try
{
operation1();
operation2();
...
}
finally
{
try
{
finalizer_operation1();
finalizer_operation2();
}
finally
{
very_critical_finalizer_operation_which_should_occurs_at_the_end();
}
}
Это нормально? Чтобы финализатор был еще одним блоком try/finally
(потому что finalizer_operationX()
может выбросить, и я должен убедиться, что very_critical...()
произойдет в конце.
Быстрый поиск в Google для try in finally block ничего не дает (удалит вопрос, если вы дадите мне повторяющуюся ссылку), он должен работать, но я не уверен в дизайне и возможных проблемах с Это.
finally
, который, в свою очередь, содержит свои собственные блокиtry-finally
- ничего особенного. В вашем случае это происходит тем же методом. - person Alex F   schedule 12.11.2014catch
;) - person Sinatr   schedule 12.11.2014