class Exception < Object

Descendents of class Exception are used to communicate between raise methods and rescue statements in begin/end blocks. Exception objects carry information about the exception—its type (the exception's class name), an optional descriptive string, and optional traceback information.

Figure 22.1 not available

class methods

exception
Exception.exception( [aString] ) → anException
Creates and returns a new exception object, optionally setting the message to aString.

instance methods

backtrace
exc.backtrace → anArray
Returns any backtrace associated with the exception. The backtrace is an array of strings, each containing either “filename:lineNo: in `method”' or “filename:lineNo.”
def a raise "boom" end def b a() end begin b() rescue => detail print detail.backtrace.join("\n") end

produces:

prog.rb:2:in `a' prog.rb:6:in `b' prog.rb:10
exception
exc.exception( [aString] ) → anException or exc
With no argument, returns the receiver. Otherwise, creates a new exception object of the same class as the receiver, but with a different message.
message
exc.message → aString
Returns the message associated with this exception.
set_backtrace
exc.set_backtrace( anArray ) → anArray
Sets the backtrace information associated with exc. The argument must be an array of String objects in the format described in Exception#backtrace.
Show this content in its own window