def add4(num)
unless num.is_a?(Numeric)
p error = ArgumentError.new("...") #=> #<ArgumentError: ...>
p error.backtrace #=> nil
end
begin
num + 4
ensure
p $! #=> #<TypeError: can't convert Fixnum into String>
p $@ #=> ["{0000}:7:in '+'", "{0000}:7:in 'add4'", "{0000}:15:in '<main>'", "ruby:in 'eval'"]
p error.set_backtrace($@[2]) #=> ["{0000}:15:in '<main>'"]
raise error #=> Script '' line 15: ArgumentError occurred.\n...
end
end
add4("a")
def add4(num)
unless num.is_a?(Numeric)
p error = ArgumentError.new("...") #=> #<ArgumentError: ...>
p error.backtrace #=> nil
end
begin
num + 4
ensure
p $! #=> #<TypeError: can't convert Fixnum into String>
p $@ #=> ["{0000}:7:in '+'", "{0000}:7:in 'add4'", "{0000}:15:in '<main>'", "ruby:in 'eval'"]
p error.set_backtrace($@[2]) #=> ["{0000}:15:in '<main>'"]
raise error #=> Script '' line 15: ArgumentError occurred.\n...
end
end
add4("a")