The subclass of SQLException
thrown when an error
occurs during a batch update operation. In addition to the
information provided by SQLException
, a
BatchUpdateException
provides the update
counts for all commands that were executed successfully during the
batch update, that is, all commands that were executed before the error
occurred. The order of elements in an array of update counts
corresponds to the order in which commands were added to the batch.
After a command in a batch update fails to execute properly
and a BatchUpdateException
is thrown, the driver
may or may not continue to process the remaining commands in
the batch. If the driver continues processing after a failure,
the array returned by the method
BatchUpdateException.getUpdateCounts
will have
an element for every command in the batch rather than only
elements for the commands that executed successfully before
the error. In the case where the driver continues processing
commands, the array element for any command
that failed is Statement.EXECUTE_FAILED
.
Public Constructor Summary
BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts)
Constructs a
BatchUpdateException object initialized with a given
reason , SQLState , vendorCode and
updateCounts . |
|
BatchUpdateException(String reason, String SQLState, int[] updateCounts)
Constructs a
BatchUpdateException object initialized with a given
reason , SQLState and
updateCounts . |
|
BatchUpdateException(String reason, int[] updateCounts)
Constructs a
BatchUpdateException object initialized with a given
reason and updateCounts . |
|
BatchUpdateException(int[] updateCounts)
Constructs a
BatchUpdateException object initialized with a given
updateCounts . |
|
BatchUpdateException()
Constructs a
BatchUpdateException object. |
|
BatchUpdateException(Throwable cause)
Constructs a
BatchUpdateException object initialized with
a given cause . |
|
BatchUpdateException(int[] updateCounts, Throwable cause)
Constructs a
BatchUpdateException object initialized with a
given cause and updateCounts . |
|
BatchUpdateException(String reason, int[] updateCounts, Throwable cause)
Constructs a
BatchUpdateException object initialized with
a given reason , cause
and updateCounts . |
|
BatchUpdateException(String reason, String SQLState, int[] updateCounts, Throwable cause)
Constructs a
BatchUpdateException object initialized with
a given reason , SQLState ,cause , and
updateCounts . |
|
BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts, Throwable cause)
Constructs a
BatchUpdateException object initialized with
a given reason , SQLState , vendorCode
cause and updateCounts . |
Public Method Summary
int[] |
getUpdateCounts()
Retrieves the update count for each update statement in the batch
update that executed successfully before this exception occurred.
|
Inherited Method Summary
Public Constructors
public BatchUpdateException (String reason, String SQLState, int vendorCode, int[] updateCounts)
Constructs a BatchUpdateException
object initialized with a given
reason
, SQLState
, vendorCode
and
updateCounts
.
The cause
is not initialized, and may subsequently be
initialized by a call to the
Throwable.initCause(java.lang.Throwable)
method.
Parameters
reason | a description of the error |
---|---|
SQLState | an XOPEN or SQL:2003 code identifying the exception |
vendorCode | an exception code used by a particular database vendor |
updateCounts | an array of int , with each element
indicating the update count, Statement.SUCCESS_NO_INFO or
Statement.EXECUTE_FAILED for each SQL command in
the batch for JDBC drivers that continue processing
after a command failure; an update count or
Statement.SUCCESS_NO_INFO for each SQL command in the batch
prior to the failure for JDBC drivers that stop processing after a command
failure |
public BatchUpdateException (String reason, String SQLState, int[] updateCounts)
Constructs a BatchUpdateException
object initialized with a given
reason
, SQLState
and
updateCounts
.
The cause
is not initialized, and may subsequently be
initialized by a call to the
Throwable.initCause(java.lang.Throwable)
method. The vendor code
is initialized to 0.
Parameters
reason | a description of the exception |
---|---|
SQLState | an XOPEN or SQL:2003 code identifying the exception |
updateCounts | an array of int , with each element
indicating the update count, Statement.SUCCESS_NO_INFO or
Statement.EXECUTE_FAILED for each SQL command in
the batch for JDBC drivers that continue processing
after a command failure; an update count or
Statement.SUCCESS_NO_INFO for each SQL command in the batch
prior to the failure for JDBC drivers that stop processing after a command
failure |
public BatchUpdateException (String reason, int[] updateCounts)
Constructs a BatchUpdateException
object initialized with a given
reason
and updateCounts
.
The cause
is not initialized, and may subsequently be
initialized by a call to the
Throwable.initCause(java.lang.Throwable)
method. The
SQLState
is initialized to null
and the vender code is initialized to 0.
Parameters
reason | a description of the exception |
---|---|
updateCounts | an array of int , with each element
indicating the update count, Statement.SUCCESS_NO_INFO or
Statement.EXECUTE_FAILED for each SQL command in
the batch for JDBC drivers that continue processing
after a command failure; an update count or
Statement.SUCCESS_NO_INFO for each SQL command in the batch
prior to the failure for JDBC drivers that stop processing after a command
failure |
public BatchUpdateException (int[] updateCounts)
Constructs a BatchUpdateException
object initialized with a given
updateCounts
.
initialized by a call to the
Throwable.initCause(java.lang.Throwable)
method. The reason
and SQLState
are initialized to null and the vendor code
is initialized to 0.
Parameters
updateCounts | an array of int , with each element
indicating the update count, Statement.SUCCESS_NO_INFO or
Statement.EXECUTE_FAILED for each SQL command in
the batch for JDBC drivers that continue processing
after a command failure; an update count or
Statement.SUCCESS_NO_INFO for each SQL command in the batch
prior to the failure for JDBC drivers that stop processing after a command
failure |
---|
public BatchUpdateException ()
Constructs a BatchUpdateException
object.
The reason
, SQLState
and updateCounts
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 the
Throwable.initCause(java.lang.Throwable)
method.
public BatchUpdateException (Throwable cause)
Constructs a BatchUpdateException
object initialized with
a given cause
.
The SQLState
and updateCounts
are 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. |
---|
public BatchUpdateException (int[] updateCounts, Throwable cause)
Constructs a BatchUpdateException
object initialized with a
given cause
and updateCounts
.
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
updateCounts | an array of int , with each element
indicating the update count, Statement.SUCCESS_NO_INFO or
Statement.EXECUTE_FAILED for each SQL command in
the batch for JDBC drivers that continue processing
after a command failure; an update count or
Statement.SUCCESS_NO_INFO for each SQL command in the batch
prior to the failure for JDBC drivers that stop processing after a command
failure |
---|---|
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. |
public BatchUpdateException (String reason, int[] updateCounts, Throwable cause)
Constructs a BatchUpdateException
object initialized with
a given reason
, cause
and updateCounts
. The SQLState
is initialized
to null
and the vendor code is initialized to 0.
Parameters
reason | a description of the exception |
---|---|
updateCounts | an array of int , with each element
indicating the update count, Statement.SUCCESS_NO_INFO or
Statement.EXECUTE_FAILED for each SQL command in
the batch for JDBC drivers that continue processing
after a command failure; an update count or
Statement.SUCCESS_NO_INFO for each SQL command in the batch
prior to the failure for JDBC drivers that stop processing after a command
failure |
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. |
public BatchUpdateException (String reason, String SQLState, int[] updateCounts, Throwable cause)
Constructs a BatchUpdateException
object initialized with
a given reason
, SQLState
,cause
, and
updateCounts
. The vendor code is initialized to 0.
Parameters
reason | a description of the exception |
---|---|
SQLState | an XOPEN or SQL:2003 code identifying the exception |
updateCounts | an array of int , with each element
indicating the update count, Statement.SUCCESS_NO_INFO or
Statement.EXECUTE_FAILED for each SQL command in
the batch for JDBC drivers that continue processing
after a command failure; an update count or
Statement.SUCCESS_NO_INFO for each SQL command in the batch
prior to the failure for JDBC drivers that stop processing after a command
failure |
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. |
public BatchUpdateException (String reason, String SQLState, int vendorCode, int[] updateCounts, Throwable cause)
Constructs a BatchUpdateException
object initialized with
a given reason
, SQLState
, vendorCode
cause
and updateCounts
.
Parameters
reason | a description of the error |
---|---|
SQLState | an XOPEN or SQL:2003 code identifying the exception |
vendorCode | an exception code used by a particular database vendor |
updateCounts | an array of int , with each element
indicating the update count, Statement.SUCCESS_NO_INFO or
Statement.EXECUTE_FAILED for each SQL command in
the batch for JDBC drivers that continue processing
after a command failure; an update count or
Statement.SUCCESS_NO_INFO for each SQL command in the batch
prior to the failure for JDBC drivers that stop processing after a command
failure |
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. |
Public Methods
public int[] getUpdateCounts ()
Retrieves the update count for each update statement in the batch
update that executed successfully before this exception occurred.
A driver that implements batch updates may or may not continue to
process the remaining commands in a batch when one of the commands
fails to execute properly. If the driver continues processing commands,
the array returned by this method will have as many elements as
there are commands in the batch; otherwise, it will contain an
update count for each command that executed successfully before
the BatchUpdateException
was thrown.
The possible return values for this method were modified for
the Java 2 SDK, Standard Edition, version 1.3. This was done to
accommodate the new option of continuing to process commands
in a batch update after a BatchUpdateException
object
has been thrown.
Returns
- an array of
int
containing the update counts for the updates that were executed successfully before this error occurred. Or, if the driver continues to process commands after an error, one of the following for every command in the batch:- an update count
Statement.SUCCESS_NO_INFO
to indicate that the command executed successfully but the number of rows affected is unknownStatement.EXECUTE_FAILED
to indicate that the command failed to execute successfully