Outputting errors in a rescue (Ruby/Rails)

37,206

There are at least two ways that I know of to get the error. The first is using a global variable: $! which is always set to the last error that occurred. The second is by explicitly capturing the error when you rescue:

begin
  # do something that fails...
rescue => error
  # error and $! are equivalent here
end

Either one will let you inspect or print out the backtrace using either:

$!.backtrace # => array of backtrace steps
error.backtrace # => same error
Share:
37,206
overtone
Author by

overtone

Updated on July 09, 2022

Comments

  • overtone
    overtone almost 2 years

    Just a quick question. I cant find it in the documentation.

    If I use a standard begin ... rescue, how do I print all the errors or stack trace into the rescue?

    e.g.:

    begin 
        do x
    rescue
        puts errors
    end
    

    Any ideas?