Library: XML
Package: SAX
Header: Poco/SAX/SAXException.h
Exception class for an unsupported operation.
An XMLReader will throw this exception when it recognizes a feature or property identifier, but cannot perform the requested operation (setting a state or value). Other SAX2 applications and extensions may use this class for similar purposes. Encapsulate an XML parse error or warning.
This exception may include information for locating the error in the original XML document, as if it came from a Locator object. Note that although the application will receive a SAXParseException as the argument to the handlers in the ErrorHandler interface, the application is not actually required to throw the exception; instead, it can simply read the information in it and take a different action.
Since this exception is a subclass of SAXException, it inherits the ability to wrap another exception.
Direct Base Classes: SAXException
All Base Classes: Poco::Exception, Poco::RuntimeException, SAXException, XMLException, std::exception
Member Functions: buildMessage, className, clone, getColumnNumber, getLineNumber, getPublicId, getSystemId, name, operator =, rethrow
Inherited Functions: className, clone, code, displayText, extendedMessage, message, name, nested, operator =, rethrow, what
SAXParseException(
const SAXParseException & exc
);
Creates a new SAXParseException from another one.
SAXParseException(
const std::string & msg,
const Locator & loc
);
Create a new SAXParseException from a message and a Locator.
SAXParseException(
const std::string & msg,
const Locator & loc,
const Poco::Exception & exc
);
Wrap an existing exception in a SAXParseException.
SAXParseException(
const std::string & msg,
const XMLString & publicId,
const XMLString & systemId,
int lineNumber,
int columnNumber
);
Create a new SAXParseException with an embedded exception.
This constructor is most useful for parser writers. All parameters except the message are as if they were provided by a Locator. For example, if the system identifier is a URL (including relative filename), the caller must resolve it fully before creating the exception.
SAXParseException(
const std::string & msg,
const XMLString & publicId,
const XMLString & systemId,
int lineNumber,
int columnNumber,
const Poco::Exception & exc
);
Create a new SAXParseException.
This constructor is most useful for parser writers. All parameters except the message are as if they were provided by a Locator. For example, if the system identifier is a URL (including relative filename), the caller must resolve it fully before creating the exception.
Destroy the exception.
const char * className() const;
Returns the name of the exception class.
See also: Poco::XML::SAXException::className()
Poco::Exception * clone() const;
Creates an exact copy of the exception.
int getColumnNumber() const;
The column number of the end of the text where the exception occurred. The first column in a line is position 1.
int getLineNumber() const;
The line number of the end of the text where the exception occurred. The first line is line 1.
const XMLString & getPublicId() const;
Get the public identifier of the entity where the exception occurred.
const XMLString & getSystemId() const;
Get the system identifier of the entity where the exception occurred.
const char * name() const;
Returns a static string describing the exception.
See also: Poco::XML::SAXException::name()
SAXParseException & operator = (
const SAXParseException & exc
);
Assignment operator.
void rethrow() const;
(Re)Throws the exception.
See also: Poco::XML::SAXException::rethrow()
static std::string buildMessage(
const std::string & msg,
const XMLString & publicId,
const XMLString & systemId,
int lineNumber,
int columnNumber
);