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.