[Glen]

I'm not clear why you didn't derive
ValidationException from SAXParseException.  I know
the locator is already present in FOPException, but
absent the subclass from SAXParseException, it ends up
being a "different" Locator object, i.e., user code
that would handle a SAXParseException can't handle
this FOPException.  Perhaps just a nitpick, but I see
a long-term advantage in having our
ValidationExceptions subclass SAXParseException if
possible.

Sometime when a PropertyException is thrown (f.ex during evaludation of a relative numeric) the name of the property and the location is not available. In the patch I've added a catch in PropertyParser which add the property name and location information to the PropertyException and rethrows the augmented exception. SAXParseException keeps the location information private so it is not possible to change the location info after a SAXParseException is thrown. Other than that, the hierarchy could also have been rooted in SAXParseException.


(Namely, if an embedded user of FOP wished to report
both parsing and validation errors to the user in the
same manner--a plausible scenario--it would be
convenient to have ValidationException subclass
SAXParseException.)

ValidationException and SAXParseException both have SAXException as a parent, so a user can catch SAXException to deal with the different exception in a uniform manner.


regards,
finn

Reply via email to