我有这个示例来处理错误并继续执行代码:
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>
如何将其用于实现代码?
答案 0 :(得分:0)
您的下一个示例与正常救援块无关。它只是告诉转到下一个迭代。因此,删除下一条语句即可找到。
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