Library: XML
Package: SAX
Header: Poco/SAX/SAXException.h
Description
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.
Inheritance
Direct Base Classes: SAXException
All Base Classes: Poco::Exception, Poco::RuntimeException, SAXException, XMLException, std::exception
Member Summary
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
Constructors
SAXParseException
SAXParseException(
const SAXParseException & exc
);
Creates a new SAXParseException from another one.
SAXParseException
SAXParseException(
const std::string & msg,
const Locator & loc
);
Create a new SAXParseException from a message and a Locator.
SAXParseException
SAXParseException(
const std::string & msg,
const Locator & loc,
const Poco::Exception & exc
);
Wrap an existing exception in a SAXParseException.
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
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.
Destructor
~SAXParseException
~SAXParseException() noexcept;
Destroy the exception.
Member Functions
className
const char * className() const noexcept;
Returns the name of the exception class.
See also: Poco::XML::SAXException::className()
clone
Poco::Exception * clone() const;
Creates an exact copy of the exception.
getColumnNumber
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.
getLineNumber
int getLineNumber() const;
The line number of the end of the text where the exception occurred. The first line is line 1.
getPublicId
const XMLString & getPublicId() const;
Get the public identifier of the entity where the exception occurred.
getSystemId
const XMLString & getSystemId() const;
Get the system identifier of the entity where the exception occurred.
name
const char * name() const noexcept;
Returns a static string describing the exception.
See also: Poco::XML::SAXException::name()
operator =
SAXParseException & operator = (
const SAXParseException & exc
);
Assignment operator.
rethrow
void rethrow() const;
(Re)Throws the exception.
See also: Poco::XML::SAXException::rethrow()
buildMessage
static std::string buildMessage(
const std::string & msg,
const XMLString & publicId,
const XMLString & systemId,
int lineNumber,
int columnNumber
);