Ruby uses exceptions to report errors and other information when something in the program has gone wrong.

If an error has ocurred, the Ruby program will end. For example:

puts 2 / 0

This will result in:

Traceback (most recent call last):
        1: from errors_in_ruby.rb:1:in `<main>'
errors_in_ruby.rb:1:in `/': divided by 0 (ZeroDivisionError)

Some common errors are:

  • RuntimeError
  • StandardError
  • NoMethodError
  • IOError
  • TypeError
  • ArgumentError

Rescuing Errors

Use the rescue keyword in a begin...end block to catch errors and report messages. The error can be as general as StandardError or as specific as ZeroDivisionError:

puts 2 / 0
rescue ZeroDivisionError
puts "Can't divide by 0"


Interested in helping build Docs? Read the Contribution Guide or share your thoughts in this feedback form.

Learn Ruby on Codecademy