Eu tenho um código que precisa resgatar vários tipos de exceções em Ruby:
begin
a = rand
if a > 0.5
raise FooException
else
raise BarException
end
rescue FooException, BarException
puts "rescued!"
end
O que eu gostaria de fazer é de alguma forma armazenar a lista de tipos de exceção que desejo resgatar em algum lugar e passar esses tipos para a cláusula de resgate:
EXCEPTIONS = [FooException, BarException]
e depois:
rescue EXCEPTIONS
Isso é mesmo possível, e é possível sem algumas chamadas realmente hack-y para eval
? Não estou esperançoso, visto que estou vendo TypeError: class or module required for rescue clause
quando tento o acima.