Java : SAXParseException (XML) with Examples

SAXParseException (Java SE 23 & JDK 23) in Java with Examples.
You will find code samples for most of the SAXParseException methods.


Summary

Encapsulate an XML parse error or warning.

Class diagram

final var xml = """
        <root><<<root>
        """;

final var factory = DocumentBuilderFactory.newInstance();
final var builder = factory.newDocumentBuilder();

try {
    var _ = builder.parse(new ByteArrayInputStream(xml.getBytes()));
} catch (SAXException e) {
    System.out.println(e);
}

// Result
// ↓
//org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 8;
// The content of elements must consist of well-formed character data or markup.

Constructors

SAXParseException (String message, String publicId, String systemId, int lineNumber, int columnNumber)

Create a new SAXParseException.

final var e = new SAXParseException("message!", "public id!", "system id!", 123, 456);

System.out.println(e.getMessage()); // message!
System.out.println(e.getPublicId()); // public id!
System.out.println(e.getSystemId()); // system id!
System.out.println(e.getLineNumber()); // 123
System.out.println(e.getColumnNumber()); // 456

SAXParseException (String message, String publicId, String systemId, int lineNumber, int columnNumber, Exception e)

Create a new SAXParseException with an embedded exception.

final var cause = new IOException("XYZ");
final var e = new SAXParseException(
        "message!", "public id!", "system id!", 123, 456, cause);

System.out.println(e.getMessage()); // message!
System.out.println(e.getPublicId()); // public id!
System.out.println(e.getSystemId()); // system id!
System.out.println(e.getLineNumber()); // 123
System.out.println(e.getColumnNumber()); // 456
System.out.println(e.getException()); // java.io.IOException: XYZ

SAXParseException (String message, Locator locator)

Create a new SAXParseException from a message and a Locator.

final var e = new SAXParseException("abc", new LocatorImpl());
System.out.println(e); // org.xml.sax.SAXParseException; lineNumber: 0; columnNumber: 0; abc

SAXParseException (String message, Locator locator, Exception e)

Wrap an existing exception in a SAXParseException.

final var cause = new IOException("XYZ");
final var e = new SAXParseException("abc", new LocatorImpl(), cause);
System.out.println(e); // org.xml.sax.SAXParseException; lineNumber: 0; columnNumber: 0; abc
System.out.println(e.getException()); // java.io.IOException: XYZ

Methods

int getColumnNumber ()

The column number of the end of the text where the exception occurred.

final var e = new SAXParseException("message!", "public id!", "system id!", 123, 456);

System.out.println(e.getMessage()); // message!
System.out.println(e.getPublicId()); // public id!
System.out.println(e.getSystemId()); // system id!
System.out.println(e.getLineNumber()); // 123
System.out.println(e.getColumnNumber()); // 456

int getLineNumber ()

The line number of the end of the text where the exception occurred.

final var e = new SAXParseException("message!", "public id!", "system id!", 123, 456);

System.out.println(e.getMessage()); // message!
System.out.println(e.getPublicId()); // public id!
System.out.println(e.getSystemId()); // system id!
System.out.println(e.getLineNumber()); // 123
System.out.println(e.getColumnNumber()); // 456

String getPublicId ()

Get the public identifier of the entity where the exception occurred.

final var e = new SAXParseException("message!", "public id!", "system id!", 123, 456);

System.out.println(e.getMessage()); // message!
System.out.println(e.getPublicId()); // public id!
System.out.println(e.getSystemId()); // system id!
System.out.println(e.getLineNumber()); // 123
System.out.println(e.getColumnNumber()); // 456

String getSystemId ()

Get the system identifier of the entity where the exception occurred.

final var e = new SAXParseException("message!", "public id!", "system id!", 123, 456);

System.out.println(e.getMessage()); // message!
System.out.println(e.getPublicId()); // public id!
System.out.println(e.getSystemId()); // system id!
System.out.println(e.getLineNumber()); // 123
System.out.println(e.getColumnNumber()); // 456

String toString ()

Override toString to provide more detailed error message.

final var e = new SAXParseException("message!", "public id!", "system id!", 123, 456);
final var str = e.toString();
System.out.println(str);

// Result
// ↓
//org.xml.sax.SAXParseException
// publicId: public id!; systemId: system id!;
// lineNumber: 123; columnNumber: 456; message!

Methods declared in SAXException

getCause, getException, getMessage

Please see the link below.

Methods declared in Throwable

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

Please see the link below.


Related posts

To top of page