# Class SAXParseException

java.lang.Object
java.lang.Throwable
java.lang.Exception
org.xml.sax.SAXException
org.xml.sax.SAXParseException

All Implemented Interfaces:
  `Serializable`

public class SAXParseException extends SAXException
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.

Since:
  1.4, SAX 1.0
See Also:
  - `SAXException`
  - `Locator`
  - `ErrorHandler`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SAXParseException(String message, String publicId, String systemId, int lineNumber, int columnNumber)`
  Create a new SAXParseException.
  `SAXParseException(String message, String publicId, String systemId, int lineNumber, int columnNumber, Exception e)`
  Create a new SAXParseException with an embedded exception.
  `SAXParseException(String message, Locator locator)`
  Create a new SAXParseException from a message and a Locator.
  `SAXParseException(String message, Locator locator, Exception e)`
  Wrap an existing exception in a SAXParseException.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getColumnNumber()`
  The column number of the end of the text where the exception occurred.
  `int`
  `getLineNumber()`
  The line number of the end of the text where the exception occurred.
  `String`
  `getPublicId()`
  Get the public identifier of the entity where the exception occurred.
  `String`
  `getSystemId()`
  Get the system identifier of the entity where the exception occurred.
  `String`
  `toString()`
  Override toString to provide more detailed error message.

  ### Methods declared in class SAXException

  `getCause, getException, getMessage`

  ### Methods declared in class Throwable

  `addSuppressed, fillInStackTrace, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace`

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### SAXParseException

    public SAXParseException(String message, Locator locator)
    Create a new SAXParseException from a message and a Locator.

    This constructor is especially useful when an application is creating its own exception from within a `ContentHandler` callback.

    Parameters:
      `message` - The error or warning message.
      `locator` - The locator object for the error or warning (may be null).
    See Also:
      - `Locator`

  - ### SAXParseException

    public SAXParseException(String message, Locator locator, Exception e)
    Wrap an existing exception in a SAXParseException.

    This constructor is especially useful when an application is creating its own exception from within a `ContentHandler` callback, and needs to wrap an existing exception that is not a subclass of `SAXException`.

    Parameters:
      `message` - The error or warning message, or null to use the message from the embedded exception.
      `locator` - The locator object for the error or warning (may be null).
      `e` - Any exception.
    See Also:
      - `Locator`

  - ### SAXParseException

    public SAXParseException(String message, String publicId, String systemId, int lineNumber, int columnNumber)
    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.

    Parameters:
      `message` - The error or warning message.
      `publicId` - The public identifier of the entity that generated the error or warning.
      `systemId` - The system identifier of the entity that generated the error or warning.
      `lineNumber` - The line number of the end of the text that caused the error or warning.
      `columnNumber` - The column number of the end of the text that cause the error or warning.

  - ### SAXParseException

    public SAXParseException(String message, String publicId, String systemId, int lineNumber, int columnNumber, Exception e)
    Create a new SAXParseException with an embedded exception.

    This constructor is most useful for parser writers who need to wrap an exception that is not a subclass of `SAXException`.

    All parameters except the message and exception 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.

    Parameters:
      `message` - The error or warning message, or null to use the message from the embedded exception.
      `publicId` - The public identifier of the entity that generated the error or warning.
      `systemId` - The system identifier of the entity that generated the error or warning.
      `lineNumber` - The line number of the end of the text that caused the error or warning.
      `columnNumber` - The column number of the end of the text that cause the error or warning.
      `e` - Another exception to embed in this one.

- ## Method Details

  - ### getPublicId

    public String getPublicId()
    Get the public identifier of the entity where the exception occurred.
    Returns:
      A string containing the public identifier, or null if none is available.
    See Also:
      - `Locator.getPublicId()`

  - ### getSystemId

    public String getSystemId()
    Get the system identifier of the entity where the exception occurred.

    If the system identifier is a URL, it will have been resolved fully.

    Returns:
      A string containing the system identifier, or null if none is available.
    See Also:
      - `Locator.getSystemId()`

  - ### getLineNumber

    public int getLineNumber()
    The line number of the end of the text where the exception occurred.

    The first line is line 1.

    Returns:
      An integer representing the line number, or -1 if none is available.
    See Also:
      - `Locator.getLineNumber()`

  - ### getColumnNumber

    public int getColumnNumber()
    The column number of the end of the text where the exception occurred.

    The first column in a line is position 1.

    Returns:
      An integer representing the column number, or -1 if none is available.
    See Also:
      - `Locator.getColumnNumber()`

  - ### toString

    public String toString()
    Override toString to provide more detailed error message.
    Overrides:
      `toString` in class `SAXException`
    Returns:
      A string representation of this exception.