Это кажется мне хорошо, и я не могу найти документацию, в которой говорится иначе, но я бы хотел, чтобы она была проверена. У меня есть часть кода, которая по какой-то причине может выйти из строя, гарантировать после нее защиту, если она терпит неудачу, а затем выполнить какой-то код независимо от того, что произойдет. Кажется, что требуется вложенный блок begin/make. Это верно? (Там нет никакого фактического спасения здесь, только что тип блока.)Вложено начало/спасение/обеспечение работоспособности?
кода выглядит следующим образом:
begin
# save default state
begin
# save current state
# set state for this snippet
# snippet
ensure
# return current state or default if none
end
ensure
# schedule next execution of this code, always.
end
здесь подробная статья об этом: http://www.skorks.com/2013/04/ruby-why-u-no-have-nested-exceptions/ – asiniy
@asiniy Интересная статья о проблемах вокруг нее, но в нем говорится: «Ruby не позволяет нам устанавливать исключения». Какие? Исключения вложенности присущи языку, если я полностью не понимаю это утверждение. –
@asiniy В этой статье речь идет о чем-то совершенно другом. Это не относится к этому вопросу вообще. – meagar