SAX2: Should SAXException extend IOException?

James Clark jjc at
Fri Dec 24 02:33:44 GMT 1999

David Megginson wrote:
> 1. Is SAXException logically a kind of I/O exception?
>    After a lot of thought (and practical experience writing apps and
>    libraries that use SAX), I'm certain that the answer to this
>    question is 'yes'.  I know that to many of us on the list, XML is
>    the sun, the moon, and the stars, but for the rest of the world
>    it's just a fancy format that you can write information to or read
>    it from -- in other words, XML is almost never the point, just a
>    means.
>    From that point of view, reading information from an XML document
>    is a kind of I/O, so it makes sense for SAXException to be a kind
>    of IOException.

But SAXExceptions do not just represent exceptions in reading
information from an XML document.  They also represent arbitrary
exceptions thrown by callbacks during the course of processing an XML
document.  I cannot see any argument on the basis of which these can be
considered I/O Exceptions.

> 2. Should SAX2 callbacks throw IOException or SAXException?

This seems like a false dichotomy to me.  Why not keep SAXException as
it is, not derived from IOException, but change the handler functions to
throw both IOException and SAXException?  This avoids tunnelling in the
common case.

Note that in Java if I have an interface that declares a method as
throwing exceptions A and B,  an implementation of that method can be
declared as throwing both A and B, or just A or just B or nothing at


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list