[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Seeking SAXException pattern


saxexception
Tim,

Well, you hit one of the dirtier chapters in the SAX usage story. The 
SAXException denotes that something is wrong with the parsed document: 
it is not XML correct OR it contains bogus data according to your 
ContentHandler. It kinda makes sense in a Java way. Keeping that in mind 
you could do something like this:

Make a class called TimBraySAXException:
public class TimBraySAXException extends SAXException { //details.. }

Change your ContentHandlers to use:
  try
  {
    myValidationCode(s, start, length);
  }
  catch (Exception e)
  {
    throw new TimBraySAXException (e);
  }


And you do not have to do any picking anymore:
  try
  {
    xmlReader.parse("mydoc.xml");
  }
  catch (TimBraySAXException e)
  {
    //do one thing
  }
  catch (SAXException e)
  {
    //do other, probably less interesting, thing.
  }

Hope that helps!

Mik Lernout

Tim Bray wrote:

> I'm writing some java code that uses a basic SAX parser, and I haven't 
> done this for years if ever, and the callback routines all have 
> signatures that throw SAXExceptions, e.g.
>
>   public void characters(char [] s, int start, int length)
>     throws SAXException
>
> So, suppose I'm in this callback and something horrible happens; for 
> example I discover that the content that I'm looking at here is 
> completely bogus.  I can't throw an Exception of any kind without 
> screwing up the signature.  So I have this pattern all over my code.
>
>   try
>   {
>     myValidationCode(s, start, length);
>   }
>   catch (Exception e)
>   {
>     throw new SAXException(e);
>   }
>
> And then I have to catch the SAXException and pick it apart to see if 
> it's really one of mine.  All of which seems kind of dorky.  I'm sure 
> there must be a standard good practice that's been developed here?  -Tim
>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>
>


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.