Programming Ruby

The Pragmatic Programmer's Guide

Previous < Contents ^
Next >
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''' 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 .


Previous < Contents ^
Next >

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.