[
Lists Home |
Date Index |
Thread Index
]
> > So, instead of answering your question I will join your request
> > for clarification.
> >
>
> This thread on Sax-Devel is relavent to this discussion
> http://www.geocrawler.com/mail/thread.php3?subject=%5BSax-
> devel%5D+endDocument+throwing+an+exception&list=13179
>
> My understanding is that a parser is required to always call
> endDocument()
OK, then I would say this should be more clear in the docs.
In the docs it states:
"The parser shall not invoke this method until it has either abandoned
parsing (because of an unrecoverable error) or reached the end of input."
The confusion for me arises because the occurrence of a fatal error
does not imply that an exception has to be thrown, only that it is
reported to the error handler. And when an exception is thrown
in a non-fatal case, then one cannot say that the parser has abandoned
parsing, but rather that the application did it.
The normal way is: If *I* make a function call that throws an exception
then *I* have to write the "finally" clause to do the clean up.
A library that provides an implicit finally does the unexpected thing.
Karl
|