3
以DRY方式将多个错误类传递给ruby的救援条款
我有一些代码需要挽救ruby中的多种类型的异常: begin a = rand if a > 0.5 raise FooException else raise BarException end rescue FooException, BarException puts "rescued!" end 我想做的是以某种方式将要抢救的异常类型列表存储在某个地方,并将这些类型传递给抢救子句: EXCEPTIONS = [FooException, BarException] 然后: rescue EXCEPTIONS 这是否有可能,而且如果没有真正的恶意调用,是否有可能eval?考虑到TypeError: class or module required for rescue clause我尝试上述操作时不会看到我,因此我不抱希望。