javax.xml.xquery

## Class XQException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - javax.xml.xquery.XQException

All Implemented Interfaces:
  java.io.Serializable

Direct Known Subclasses:
  XQQueryException

    public class XQException
    extends java.lang.Exception

An exception that provides information on XQJ, XQuery or other errors reported by an XQJ implementation.
Each `XQException` provides several kinds of information:

- a string describing the error. This is used as the Java Exception message, available via the method `getMessage`.
- the cause of the error. This is used as the Java Exception cause, available via the method `getCause`.
- the vendor code identifying the error. Available via the method `getVendorCode`. Refer to the vendor documentation which specific codes can be returned.
- a chain of `XQException` objects. If more than one error occurred the exceptions are referenced via this chain.

Note that `XQException` has a subclass `XQQueryException` providing more detailed information about errors that occurred during the processing of a query. An implementation throws a base `XQException` when an error occurs in the XQJ implementation. Further, implementations are encouraged to use the more detailed `XQQueryException` in case of an error reported by the XQuery engine.
It is possible that during the processing of a query that one or more errors could occur, each with their own potential causal relationship. This means that when an XQJ application catches an `XQException`, there is a possibility that there may be additional `XQException` objects chained to the original thrown `XQException`. To access the additional chained `XQException` objects, an application would recursively invoke `getNextException` until a `null` value is returned.
An `XQException` may have a causal relationship, which consists of one or more `Throwable` instances which caused the `XQException` to be thrown. The application may recursively call the method `getCause`, until a `null` value is returned, to navigate the chain of causes.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`XQException(java.lang.String message)` Constructs an `XQException` object with a given message.
`XQException(java.lang.String message, java.lang.String vendorCode)` Constructs an `XQException` object with a given message and vendor code.

### Method Summary

All Methods Instance Methods Concrete Methods
`XQException` `getNextException()` Returns the next `XQException` in the chain or `null` if none.
`java.lang.String` `getVendorCode()` Gets the vendor code associated with this exception or `null` if none.
`void` `setNextException(XQException next)` Adds an `XQException` to the chain of exceptions.

### Methods inherited from class java.lang.Throwable

`addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### XQException

    public XQException(java.lang.String message)

Constructs an `XQException` object with a given message. An optional chain of additional `XQException` objects may be set subsequently using `setNextException`.

Parameters:
  `message` - the description of the error. `null` indicates that the message string is non existant

#### XQException

    public XQException(java.lang.String message,
                       java.lang.String vendorCode)

Constructs an `XQException` object with a given message and vendor code. An optional chain of additional `XQException` objects may be set subsequently using `setNextException`.

Parameters:
  `message` - the description of the error. `null` indicates that the message string is non existant
  `vendorCode` - a vendor-specific string identifying the error. `null` indicates there is no vendor code or it is unknown

### Method Detail

#### getVendorCode

    public java.lang.String getVendorCode()

Gets the vendor code associated with this exception or `null` if none. A vendor code is a vendor-specific string identifying the failure in a computer-comparable manner. For example, "NOCONNECT" if unable to connect or "DIVBYZERO" if division by zero occurred within the XQuery.

Returns:
  the vendor code string, or `null` if none available

#### getNextException

    public XQException getNextException()

Returns the next `XQException` in the chain or `null` if none.

Returns:
  the next exception, or `null` if none

#### setNextException

    public void setNextException(XQException next)

Adds an `XQException` to the chain of exceptions.

Parameters:
  `next` - the next exception to be added to the chain of exceptions

Copyright © 2003, 2020, Oracle and/or its affiliates.