# Class SQLDataException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.sql.SQLException
java.sql.SQLNonTransientException
java.sql.SQLDataException

All Implemented Interfaces:
  `Serializable, Iterable<Throwable>`

public class SQLDataException extends SQLNonTransientException
The subclass of `SQLException` thrown when the SQLState class value is '22', or under vendor-specified conditions. This indicates various data errors, including but not limited to data conversion errors, division by 0, and invalid arguments to functions.

Please consult your driver vendor documentation for the vendor-specified conditions for which this `Exception` may be thrown.

Since:
  1.6
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SQLDataException()`
  Constructs a `SQLDataException` object.
  `SQLDataException(String reason)`
  Constructs a `SQLDataException` object with a given `reason`.
  `SQLDataException(String reason, String SQLState)`
  Constructs a `SQLDataException` object with a given `reason` and `SQLState`.
  `SQLDataException(String reason, String SQLState, int vendorCode)`
  Constructs a `SQLDataException` object with a given `reason`, `SQLState` and `vendorCode`.
  `SQLDataException(String reason, String SQLState, int vendorCode, Throwable cause)`
  Constructs a `SQLDataException` object with a given `reason`, `SQLState`, `vendorCode` and `cause`.
  `SQLDataException(String reason, String SQLState, Throwable cause)`
  Constructs a `SQLDataException` object with a given `reason`, `SQLState` and `cause`.
  `SQLDataException(String reason, Throwable cause)`
  Constructs a `SQLDataException` object with a given `reason` and `cause`.
  `SQLDataException(Throwable cause)`
  Constructs a `SQLDataException` object with a given `cause`.

- ## Method Summary

  ### Methods declared in class SQLException

  `getErrorCode, getNextException, getSQLState, iterator, setNextException`
  Modifier and Type
  Method
  Description
  `int`
  `getErrorCode()`
  Retrieves the vendor-specific exception code for this `SQLException` object.
  `SQLException`
  `getNextException()`
  Retrieves the exception chained to this `SQLException` object by setNextException(SQLException ex).
  `String`
  `getSQLState()`
  Retrieves the SQLState for this `SQLException` object.
  `Iterator<Throwable>`
  `iterator()`
  Returns an iterator over the chained SQLExceptions.
  `void`
  `setNextException(SQLException ex)`
  Adds an `SQLException` object to the end of the chain.

  ### Methods declared in class Throwable

  `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`
  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.
  `Throwable`
  `getCause()`
  Returns the cause of this throwable or `null` if the cause is nonexistent or unknown.
  `String`
  `getLocalizedMessage()`
  Creates a localized description of this throwable.
  `String`
  `getMessage()`
  Returns the detail message string 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.
  `String`
  `toString()`
  Returns a short description of this throwable.

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

  ### Methods declared in interface Iterable

  `forEach, spliterator`
  Modifier and Type
  Method
  Description
  `default void`
  `forEach(Consumer<? super Throwable> action)`
  Performs the given action for each element of the `Iterable` until all elements have been processed or the action throws an exception.
  `default Spliterator<Throwable>`
  `spliterator()`
  Creates a `Spliterator` over the elements described by this `Iterable`.

- ## Constructor Details

  - ### SQLDataException

    public SQLDataException()
    Constructs a `SQLDataException` object. The `reason`, `SQLState` are initialized to `null` and the vendor code is initialized to 0. The `cause` is not initialized, and may subsequently be initialized by a call to `Throwable.initCause(java.lang.Throwable)` method.
    Since:
      1.6

  - ### SQLDataException

    public SQLDataException(String reason)
    Constructs a `SQLDataException` object with a given `reason`. The `SQLState` is initialized to `null` and the vendor code is initialized to 0. The `cause` is not initialized, and may subsequently be initialized by a call to `Throwable.initCause(java.lang.Throwable)` method.
    Parameters:
      `reason` - a description of the exception
    Since:
      1.6

  - ### SQLDataException

    public SQLDataException(String reason, String SQLState)
    Constructs a `SQLDataException` object with a given `reason` and `SQLState`. The vendor code is initialized to 0. The `cause` is not initialized, and may subsequently be initialized by a call to `Throwable.initCause(java.lang.Throwable)` method.
    Parameters:
      `reason` - a description of the exception
      `SQLState` - an XOPEN or SQL:2003 code identifying the exception
    Since:
      1.6

  - ### SQLDataException

    public SQLDataException(String reason, String SQLState, int vendorCode)
    Constructs a `SQLDataException` object with a given `reason`, `SQLState` and `vendorCode`. The `cause` is not initialized, and may subsequently be initialized by a call to `Throwable.initCause(java.lang.Throwable)` method.
    Parameters:
      `reason` - a description of the exception
      `SQLState` - an XOPEN or SQL:2003 code identifying the exception
      `vendorCode` - a database vendor specific exception code
    Since:
      1.6

  - ### SQLDataException

    public SQLDataException(Throwable cause)
    Constructs a `SQLDataException` object with a given `cause`. The `SQLState` is initialized to `null` and the vendor code is initialized to 0. The `reason` is initialized to `null` if `cause==null` or to `cause.toString()` if `cause!=null`.
    Parameters:
      `cause` - the underlying reason for this `SQLException` (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
    Since:
      1.6

  - ### SQLDataException

    public SQLDataException(String reason, Throwable cause)
    Constructs a `SQLDataException` object with a given `reason` and `cause`. The `SQLState` is initialized to `null` and the vendor code is initialized to 0.
    Parameters:
      `reason` - a description of the exception.
      `cause` - the underlying reason for this `SQLException` (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
    Since:
      1.6

  - ### SQLDataException

    public SQLDataException(String reason, String SQLState, Throwable cause)
    Constructs a `SQLDataException` object with a given `reason`, `SQLState` and `cause`. The vendor code is initialized to 0.
    Parameters:
      `reason` - a description of the exception.
      `SQLState` - an XOPEN or SQL:2003 code identifying the exception
      `cause` - the underlying reason for this `SQLException` (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
    Since:
      1.6

  - ### SQLDataException

    public SQLDataException(String reason, String SQLState, int vendorCode, Throwable cause)
    Constructs a `SQLDataException` object with a given `reason`, `SQLState`, `vendorCode` and `cause`.
    Parameters:
      `reason` - a description of the exception
      `SQLState` - an XOPEN or SQL:2003 code identifying the exception
      `vendorCode` - a database vendor-specific exception code
      `cause` - the underlying reason for this `SQLException` (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
    Since:
      1.6