Class REXML::ParseException
In: rexml/parseexception.rb
Parent: RuntimeError

Methods

context   line   new   position   to_s  

Attributes

continued_exception  [RW] 
parser  [RW] 
source  [RW] 

Public Class methods

[Source]

# File rexml/parseexception.rb, line 5
    def initialize( message, source=nil, parser=nil, exception=nil )
      super(message)
      @source = source
      @parser = parser
      @continued_exception = exception
    end

Public Instance methods

[Source]

# File rexml/parseexception.rb, line 47
    def context
      @source.current_line
    end

[Source]

# File rexml/parseexception.rb, line 42
    def line
      @source.current_line[2] if @source and defined? @source.current_line and 
      @source.current_line
    end

[Source]

# File rexml/parseexception.rb, line 37
    def position
      @source.current_line[0] if @source and defined? @source.current_line and
      @source.current_line
    end

[Source]

# File rexml/parseexception.rb, line 12
    def to_s
      # Quote the original exception, if there was one
      if @continued_exception
        err = @continued_exception.inspect
        err << "\n"
        err << @continued_exception.backtrace.join("\n")
        err << "\n...\n"
      else
        err = ""
      end

      # Get the stack trace and error message
      err << super

      # Add contextual information
      if @source
        err << "\nLine: #{line}\n"
        err << "Position: #{position}\n"
        err << "Last 80 unconsumed characters:\n"
        err << @source.buffer[0..80].gsub(/\n/, ' ')
      end
      
      err
    end

[Validate]

ruby-doc.org is hosted and maintained by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.

Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.

For more information on the Ruby programming language, visit ruby-lang.org.

Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.