OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: throwing SAX Exceptions from SAX Filters




I normally prefer throwing my own exception (derrived from my base
exception):

try
{
	SAXFunction();
}
catch(SAXParseException& e)
{
	ostringstream ost;
	ost <<  "caught SAXParseExeption, info [locator info and any other info
embedded in the square bracket]" << e.ExtractAllInfo() << "Rethrowing...";
	throw MYException(MY_ERROR_CODE, ost.str(), __FILE__, __LINE__);
}

Reason for throwing my own exception is:
1. in my (higher) code, I have to only catch my base exception along with
catch(...) and if I catch(...) then I know I have either not caught
something below that I should have or It's a case of bad pointer.
2. Also, If I change my base level code (replace Xerces with something
else), then my user (or my higher level code) do not have to change their
exception handling.

However, if what I am coding is an extension of Xerces, and another user
would be using it then I would rather throw SAXParseExeption, otherwise user
will have to deal with a new exception.

Thanks,

Ajay



-----Original Message-----
From: xml-dev-errors@lists.xml.org
[mailto:xml-dev-errors@lists.xml.org]On Behalf Of Michael Brennan
Sent: Thursday, July 12, 2001 2:50 AM
To: 'Simon St.Laurent'; xml-dev@lists.xml.org
Subject: RE: throwing SAX Exceptions from SAX Filters


If this would only be used within the context of a SAX filter and nowhere
else, I'd say just throw a SAXException. That's what I typically do.
SAXExceptions can conveniently carry another exception, so the application
can determine what the real original exception was. I tend to leverage that
pretty heavily. In fact, I always through a SAXParseException so that the
application can get the Locator info and determine where in the XML source
the error occurred. That's pretty useful for debugging.

> -----Original Message-----
> From: Simon St.Laurent [mailto:simonstl@simonstl.com]
> Sent: Wednesday, July 11, 2001 1:39 PM
> To: xml-dev@lists.xml.org
> Subject: throwing SAX Exceptions from SAX Filters
>
>
> I'm presently writing a SAX Filter which supports the Regular
> Fragmentations work I'm doing.  As part of an effort to reduce the
> project's explicit reliance on the Xerces parser's regex routines (for
> matching) and the regexp's split() functionality, I'm building an
> interface which allows developers to create tiny wrappers around
> whatever regex package they find most appropriate.
>
> Part of that involves using the newInstance() method to create classes
> based on system properties or command line output, and I need
> to handle
> and throw exception.  Although this code is part of a SAX filter, the
> work it is doing isn't explicitly SAX-related.
>
> Should I be throwing SAXExceptions?  Or concocting something new?

------------------------------------------------------------------
The xml-dev list is sponsored by XML.org, an initiative of OASIS
<http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To unsubscribe from this elist send a message with the single word
"unsubscribe" in the body to: xml-dev-request@lists.xml.org