| Class | REXML::ParseException |
| In: |
|
| Parent: | RuntimeError |
Attributes
| continued_exception | [RW] | |
| parser | [RW] | |
| source | [RW] |
Public Class methods
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
Public Instance methods
42: def line 43: @source.current_line[2] if @source and defined? @source.current_line and 44: @source.current_line 45: end
37: def position 38: @source.current_line[0] if @source and defined? @source.current_line and 39: @source.current_line 40: end
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