[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: throwing SAX Exceptions from SAX Filters
- From: Ajay K sanghi <sanghi@giasdl01.vsnl.net.in>
- To: xml-dev@lists.xml.org
- Date: Thu, 12 Jul 2001 06:32:42 +0530
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