On May 7, 2006, at 2:21 PM, Eli Bendersky wrote:

> Hi all,
>
> I use the following to parse an XML file with REXML:
>
> begin
> 	doc = REXML::Document.new File.new('test_cfg.xml')
> rescue REXML::ParseException => msg
> 	puts "Failed: #{msg}"
> end
>
> When REXML throws ParseException, a whole load information is spilled
> into msg. Although this is useful for debugging, it hardly is an  
> option
> for a "real-life" application that just has to notify the user of an
> error in his .xml file in the friendliest way possible.
>
> How can I get just the "malformed XML: missing tag start" part  
> (plus the
> line in the file) without all the stack trace and the information that
> comes after it, which for some reason is repeated twice. Is this
> possible without deconstructing the raised msg ?
>
> P.S. generally REXML's error handling seems abysmal. Any simplest  
> error
> (forgetting a = after attribute name, forgetting an opening element)
> throws an error for the last line in the .xml file
>
>
> Thanks,
> Eli
>
> -- 
> Posted via http://www.ruby-forum.com/.
>

puts "Failed: #{msg.message}"