begin / rescue

rescue ZeroDivisionError.

rescue catches. Log the class or message.

Goal

Rescue ZeroDivisionError and a raised RuntimeError.

begin
  puts 1 / 0
rescue ZeroDivisionError => e
  puts e.class
  puts e.message
end
begin
  raise "empty till"
rescue => e
  puts e.message
end
def need_city(city)
  raise "city required" if city.nil? || city.empty?
  city
end
begin
  puts need_city("Nairobi")
  puts need_city("")
rescue => e
  puts "caught #{e.message}"
end
puts Integer("12")
begin
  Integer("nairobi")
rescue ArgumentError => e
  puts e.class
end