Exceptions and Safety
Begin Rescue
begin and rescue let a program handle an error path and keep running.
Begin Rescue
begin_rescue.rb
raw_count =
begin
count = Integer(raw_count)
result = 12 / count
puts "count=#{count}"
puts "result=#{result}"
rescue ArgumentError
puts "count=invalid"
rescue ZeroDivisionError
puts "count=zero"
end
puts "done"
raw_count =
begin
count = Integer(raw_count)
result = 12 / count
puts "count=#{count}"
puts "result=#{result}"
rescue ArgumentError
puts "count=invalid"
rescue ZeroDivisionError
puts "count=zero"
end
puts "done"
raw_count =
begin
count = Integer(raw_count)
result = 12 / count
puts "count=#{count}"
puts "result=#{result}"
rescue ArgumentError
puts "count=invalid"
rescue ZeroDivisionError
puts "count=zero"
end
puts "done"
rescue
A `rescue` block runs when code inside `begin` raises an exception.