Class | REXML::ParseException |
In: |
lib/rexml/parseexception.rb
|
Parent: | RuntimeError |
continued_exception | [RW] | |
parser | [RW] | |
source | [RW] |
# File lib/rexml/parseexception.rb, line 5 5: def initialize( message, source=nil, parser=nil, exception=nil ) 6: super(message) 7: @source = source 8: @parser = parser 9: @continued_exception = exception 10: end
# File lib/rexml/parseexception.rb, line 42 42: def line 43: @source.current_line[2] if @source and defined? @source.current_line and 44: @source.current_line 45: end
# File lib/rexml/parseexception.rb, line 37 37: def position 38: @source.current_line[0] if @source and defined? @source.current_line and 39: @source.current_line 40: end
# File lib/rexml/parseexception.rb, line 12 12: def to_s 13: # Quote the original exception, if there was one 14: if @continued_exception 15: err = @continued_exception.inspect 16: err << "\n" 17: err << @continued_exception.backtrace.join("\n") 18: err << "\n...\n" 19: else 20: err = "" 21: end 22: 23: # Get the stack trace and error message 24: err << super 25: 26: # Add contextual information 27: if @source 28: err << "\nLine: #{line}\n" 29: err << "Position: #{position}\n" 30: err << "Last 80 unconsumed characters:\n" 31: err << @source.buffer[0..80].gsub(/\n/, ' ') 32: end 33: 34: err 35: end