# 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`
  Modifier and Type
  Method
  Description
  `Throwable`
  `getCause()`
  Return the cause of the exception
  `Exception`
  `getException()`
  Return the embedded exception, if any.
  `String`
  `getMessage()`
  Return a detail message for this exception.

  ### Methods declared in class Throwable

  `addSuppressed, fillInStackTrace, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace`
  Modifier and Type
  Method
  Description
  `final void`
  `addSuppressed(Throwable exception)`
  Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.
  `Throwable`
  `fillInStackTrace()`
  Fills in the execution stack trace.
  `String`
  `getLocalizedMessage()`
  Creates a localized description of this throwable.
  `StackTraceElement[]`
  `getStackTrace()`
  Provides programmatic access to the stack trace information printed by `Throwable.printStackTrace()`.
  `final Throwable[]`
  `getSuppressed()`
  Returns an array containing all of the exceptions that were suppressed, typically by the `try`-with-resources statement, in order to deliver this exception.
  `Throwable`
  `initCause(Throwable cause)`
  Initializes the cause of this throwable to the specified value.
  `void`
  `printStackTrace()`
  Prints this throwable and its backtrace to the standard error stream.
  `void`
  `printStackTrace(PrintStream s)`
  Prints this throwable and its backtrace to the specified print stream.
  `void`
  `printStackTrace(PrintWriter s)`
  Prints this throwable and its backtrace to the specified print writer.
  `void`
  `setStackTrace(StackTraceElement[] stackTrace)`
  Sets the stack trace elements that will be returned by `Throwable.getStackTrace()` and printed by `Throwable.printStackTrace()` and related methods.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## 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.