Re: SAX - endDocument() confusion again

Elliotte Rusty Harold <[email protected]> Fri, 27 Feb 2004 19:30:19 -0500
Newsgroups gmane.text.xml.sax.devel,gmane.text.xml.devel
Message-ID <p06010207bc659097408a@[192.168.254.4]>
At 6:40 PM -0500 2/27/04, Karl Waclawek wrote:

>I admit I am not a native speaker, but IMO the wording above
>would not contradict the behaviour of an exception stopping
>the parser cold. Exceptions are normally thought of as
>the "exceptional" case, and documenting the behaviour of an
>implementation does usually not imply that it will behave
>the same when an exception is thrown.
>

A very good point. However, I think the sort of exception you're 
describing is only a truly exceptional exception such as an I/O error 
like a broken socket or an out of memory condition. I'm not sure a 
malformed document qualifies as exceptional in this context. There's 
no reason, after all, the parse method has to throw an exception to 
indicate malformedness. It could easily have returned a boolean 
indicating whether or not the document was well-formed. Not that I'm 
suggesting such a change at this late date, of course. I just want to 
point out that there are other ways to design such an API that don't 
rely on exceptions. In practice I encounter malformed documents far 
more often than I/O errors, out of memory errors, and similar 
problems. They just don't feel that exceptional to me.
-- 

   Elliotte Rusty Harold
   [email protected]
   Effective XML (Addison-Wesley, 2003)
   http://www.cafeconleche.org/books/effectivexml
   http://www.amazon.com/exec/obidos/ISBN%3D0321150406/ref%3Dnosim/cafeaulaitA


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
List: sax-devel, [email protected]
See:  http://www.saxproject.org/
https://lists.sourceforge.net/lists/listinfo/sax-devel