Ruby: Можно ли обернуть весь поток в обработчик исключений? - PullRequest
0 голосов
/ 30 апреля 2019

Я запускаю несколько потоков, и иногда возникает ошибка.

Могу ли я поместить весь поток в структуру begin / rescue / end, поэтому, если возникает ошибка, я могу ее перехватить, а затем простосбросить нить

Что-то вроде следующего:

$threads = {}
numbers = 1 2 3 4 5
def start_threads(numbers)
  numbers.each do |number|
    begin
      $threads[number] = Thread.new {(object.new.method)}
    rescue
      reset_thread(number)
    end
  end
end

def reset_thread(number)
  $threads[number].join
  $threads[number].exit
  $threads[number].delete
  $threads[number] = Thread.new {(object.new.method)}
end
...