[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Seeking SAXException pattern
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! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|