Реализовать «спасение» без «следующего» - PullRequest
0 голосов
/ 04 октября 2018

У меня есть этот пример для обработки ошибок и продолжения выполнения кода:

begin
  p '-' * 100
  request_builder.new(env: tested_env).submit!
rescue => error
  error_logs << "#{error}\n#{error.backtrace.first(5).join("\n")}"
  next
end

Как мне переписать код без next?

Я нашел этот пример:

%w(1 2).each do |x|
  p x
  begin
    raise 'something'
  rescue => error
    p error
  end
end
=>
"1"
#<RuntimeError: something>
"2"
#<RuntimeError: something>

Как это можно использовать для реализации кода?

1 Ответ

0 голосов
/ 05 октября 2018

Следующий в вашем примере не имеет ничего общего с обычным спасательным блоком.Он просто говорит перейти к следующей итерации.Так что удалите ваше следующее утверждение, и вы найдете.

begin
  p '-' * 100
  request_builder.new(env: tested_env).submit!
rescue => error
  error_logs << "#{error}\n#{error.backtrace.first(5).join("\n")}"
  # next # removing next, removes you error, 
         # you just put whatever you want in your rescue block, 
         # the application continues in this block
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...