У меня есть задача rake, которая перебирает строки в файле CSV, и внутри этого цикла есть блок begin / rescue, чтобы перехватить любое возможное возбужденное исключение. Но когда я запускаю его, он продолжает говорить «грабли прерваны!» и он не входит в спасательный блок
CSV.foreach(path, :headers => true) do |row|
id = row.to_hash['id'].to_i
if id.present?
begin
# call to mymethod
rescue => ex
puts "#{ex} error executing task"
end
end
end
...
def mymethod(...)
...
begin
response = RestClient.post(...)
rescue => ex
raise Exception.new('...')
end
end
Ожидается: он должен завершить цикл всех строк CSV
Фактический результат: останавливается после достижения исключения «рейз», говоря, что:
грабли прерваны!
Исключение: сообщение об ошибке здесь
...
Причина:
RestClient :: InternalServerError: 500 Внутренняя ошибка сервера