Programming Ruby: The Pragmatic Programmer's Guide

# 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.