Google

class Exception
Parent: Object
Version: 1.6

Index:

exception backtrace exception message set_backtrace


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.

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'{:0033:}:0033:'' 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.


Extracted from the book "Programming Ruby - The Pragmatic Programmer's Guide"
Copyright © 2000 Addison Wesley Longman, Inc. Released under the terms of the Open Publication License V1.0.
This reference is available for download.