[
Lists Home |
Date Index |
Thread Index
]
At 9:24 AM +0000 2/24/04, Michael Kay wrote:
>On the subject of error handling, one of my biggest hassles in making
>Saxon portable across different XML parsers has been differences in the
>way they handle an exception thrown by a callback such as startElement.
>They vary in whether or not such an exception is notified to the
>ErrorHandler, and they vary in whether it re-emerges intact as an
>exception thrown by the parse() method or whether it gets wrapped in
>some other exception. The specs, of course, are very unspecific on such
>points.
>
That's a tricky one, and one I'm not yet testing for. My reading of
the spec is that such exceptions should not be reported to the
ErrorHandler. The ErrorHandler is only for the use of the parser. And
if the client app wants its exceptions to show up in the errror
handler it can always call those methods directly.
However, I also think that the parser should wrap any
RuntimeException the application's ContentHandler throws in a
SAXException. The parse method should not throw any exception except
SAXException and IOException.
--
Elliotte Rusty Harold
elharo@metalab.unc.edu
Effective XML (Addison-Wesley, 2003)
http://www.cafeconleche.org/books/effectivexml
http://www.amazon.com/exec/obidos/ISBN%3D0321150406/ref%3Dnosim/cafeaulaitA
|