catch and throw don't have to be directly in the same scope. : catch « Statement « Ruby






catch and throw don't have to be directly in the same scope.


# throw works from methods called from within a catch block:

def generate_random_number_except_123
  x = rand(1000)
  throw :finish if x == 123
end

catch(:finish) do
  1000.times { generate_random_number_except_123 }
  puts "Generated 1000 random numbers without generating 123!"
end

 








Related examples in the same category

1.Catch and Throw