OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   SAX/Java: Exceptions, Again

[ Lists Home | Date Index | Thread Index ]
  • From: David Megginson <ak117@freenet.carleton.ca>
  • To: xml-dev Mailing List <xml-dev@ic.ac.uk>
  • Date: Thu, 8 Jan 1998 21:20:57 -0500

I think that I've just answered my own question about Exception
handling in the Java implementation of SAX.  There is no reason that
the SAX frontend for each parser cannot pack exceptions from the
callbacks into a container and unpack them for the top-level
transparently -- that way, the parser can still have tight
compile-time error checking, but application writers won't have to
jump through hoops to throw exceptions to the top level.  Unless I
read a good argument to the contrary, then, the interface will look
like this:

  public void startDocument ()
    throws java.lang.Exception;

  public void endDocument ()
    throws java.lang.Exception;

  public void characters (char ch[], int start, int end)
    throws java.lang.Exception;

  /* etc. */

Implementations can use much stricter type checking themselves, and
are not required to throw any exceptions at all -- the Java interface
just gives the boundary (in this case, any or no exceptions).

I still need to define what a SAX parser is allowed to catch and what
it may pass through.  Here's a rough sketch:


1) A parser must catch all of its own, internal exceptions (i.e. no
   SAX parser should throw an exception that others do not -- this can
   be managed in the SAX frontend if necessary).

2) A parser may catch any exceptions derived from
   java.io.IOException (that includes the networking exceptions), but
   only if it is capable of resolving or working around the problem
   corresponding to the exception; otherwise, it must throw it on
   through to the top-level user code.

3) A parser must pass all other exceptions up to the user code.


What am I missing in this list?


All the best,


David

-- 
David Megginson                 ak117@freenet.carleton.ca
Microstar Software Ltd.         dmeggins@microstar.com
      http://home.sprynet.com/sprynet/dmeggins/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS