Exceptions and Safety
Raise Exception
raise reports invalid input from a method, and callers can rescue that error.
Raise Exception
raise_exception.rb
def seats_for(requested)
raise ArgumentError, "too small" if requested < 1
raise ArgumentError, "too large" if requested > 6
requested
end
requested =
begin
seats = seats_for(requested)
puts "seats=#{seats}"
rescue ArgumentError => error
puts "error=#{error.message}"
end
def seats_for(requested)
raise ArgumentError, "too small" if requested < 1
raise ArgumentError, "too large" if requested > 6
requested
end
requested =
begin
seats = seats_for(requested)
puts "seats=#{seats}"
rescue ArgumentError => error
puts "error=#{error.message}"
end
def seats_for(requested)
raise ArgumentError, "too small" if requested < 1
raise ArgumentError, "too large" if requested > 6
requested
end
requested =
begin
seats = seats_for(requested)
puts "seats=#{seats}"
rescue ArgumentError => error
puts "error=#{error.message}"
end
raise
`raise` creates an exception when a method cannot safely continue.