Класс BatchUpdateException
- Все реализуемые интерфейсы:
Serializable, Iterable<Throwable>
public class BatchUpdateException extends SQLException
SQLException, выбрасываемый при возникновении ошибки во время пакетного обновления. Помимо информации, предоставляемой SQLException, BatchUpdateException содержит счётчики обновлений для всех команд, успешно выполненных во время пакетного обновления, то есть для всех команд, выполненных до возникновения ошибки. Порядок элементов в массиве счётчиков обновлений соответствует порядку добавления команд в пакет. Если команда пакетного обновления не выполняется должным образом и выбрасывается BatchUpdateException, драйвер может продолжить обработку оставшихся команд пакета, а может и не продолжить. Если драйвер продолжает обработку после сбоя, массив, возвращаемый методом BatchUpdateException.getUpdateCounts, будет содержать элемент для каждой команды пакета, а не только элементы для команд, успешно выполненных до возникновения ошибки. Если драйвер продолжает обработку команд, элемент массива для каждой неудачно выполненной команды будет равен Statement.EXECUTE_FAILED.
Реализация драйвера JDBC должна использовать конструктор BatchUpdateException(String reason, String SQLState,
int vendorCode, long []updateCounts, Throwable cause) вместо конструкторов, принимающих int[] для счётчиков обновлений, чтобы избежать возможного переполнения.
Если вызывается метод Statement.executeLargeBatch, рекомендуется вызывать getLargeUpdateCounts вместо getUpdateCounts, чтобы избежать возможного переполнения целочисленного счётчика обновлений.
- С момента:
- 1.2
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BatchUpdateException() |
Создаёт объект BatchUpdateException. |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданным updateCounts. инициализируется вызовом метода Throwable.initCause(java.lang.Throwable). |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданным cause и updateCounts. |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданным reason и updateCounts. |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданными reason, cause и updateCounts. |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданными reason, SQLState и updateCounts. |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданными reason, SQLState,cause и updateCounts. |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданными reason, SQLState, vendorCode и updateCounts. |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданными reason, SQLState, vendorCode cause и updateCounts. |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданными reason, SQLState, vendorCode cause и updateCounts. |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданным cause. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
long[] |
getLargeUpdateCounts() |
Возвращает счётчик обновлений для каждого оператора обновления в пакетном обновлении, успешно выполненного до возникновения этого исключения. |
int[] |
getUpdateCounts() |
Возвращает счётчик обновлений для каждого оператора обновления в пакетном обновлении, успешно выполненного до возникновения этого исключения. |
Методы, объявленные в классе SQLException
getErrorCode, getNextException, getSQLState, iterator, setNextException | Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getErrorCode() |
Возвращает специфичный для поставщика код исключения для этого объекта SQLException. |
SQLException |
getNextException() |
Возвращает исключение, связанное с этим объектом SQLException методом setNextException(SQLException ex). |
String |
getSQLState() |
Возвращает SQLState для этого объекта SQLException. |
Iterator |
iterator() |
Возвращает итератор по цепочке SQLException. |
void |
setNextException |
Добавляет объект SQLException в конец цепочки. |
Методы, объявленные в классе Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString | Модификатор и тип | Метод | Описание |
|---|---|---|
final void |
addSuppressed |
Добавляет указанное исключение к исключениям, подавленным при возникновении этого исключения. |
Throwable |
fillInStackTrace() |
Заполняет трассировку стека вызовов. |
Throwable |
getCause() |
Возвращает причину возникновения этого исключения или null, если причина отсутствует или неизвестна. |
String |
getLocalizedMessage() |
Создаёт локализованное описание этого исключения. |
String |
getMessage() |
Возвращает строку с подробным сообщением этого исключения. |
StackTraceElement[] |
getStackTrace() |
Предоставляет программный доступ к сведениям о трассировке стека, выводимым методом Throwable.printStackTrace(). |
final Throwable[] |
getSuppressed() |
Возвращает массив, содержащий все исключения, которые были подавлены, обычно оператором try-with-resources, при возникновении этого исключения. |
Throwable |
initCause |
Инициализирует причину возникновения этого исключения указанным значением. |
void |
printStackTrace() |
Выводит это исключение и трассировку стека в стандартный поток ошибок. |
void |
printStackTrace |
Выводит это исключение и трассировку стека в указанный поток вывода. |
void |
printStackTrace |
Выводит это исключение и трассировку стека в указанный объект печати. |
void |
setStackTrace |
Задаёт элементы трассировки стека, которые будут возвращены методом Throwable.getStackTrace() и выведены методами Throwable.printStackTrace() и связанными с ним методами. |
String |
toString() |
Возвращает краткое описание этого исключения. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого объекта Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе Iterable
forEach, spliterator | Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
forEach |
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не выбросит исключение. |
default Spliterator |
spliterator() |
Создаёт Spliterator для элементов, описываемых этим Iterable. |
Подробное описание конструкторов
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts)
BatchUpdateException, инициализированный заданными reason, SQLState, vendorCode и updateCounts. cause не инициализируется и впоследствии может быть инициализирован вызовом метода Throwable.initCause(java.lang.Throwable). Примечание: updateCounts не проверяется на переполнение, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState,
int vendorCode, long []updateCounts, Throwable cause) .
- Параметры:
-
reason— описание ошибки -
SQLState— код XOPEN или SQL:2003, идентифицирующий исключение -
vendorCode— код исключения, используемый конкретным производителем базы данных -
updateCounts— массивint, каждый элемент которого указывает количество обновлённых строк,Statement.SUCCESS_NO_INFOилиStatement.EXECUTE_FAILEDдля каждой SQL-команды в пакете для драйверов JDBC, продолжающих обработку после сбоя команды; количество обновлённых строк илиStatement.SUCCESS_NO_INFOдля каждой SQL-команды в пакете до сбоя для драйверов JDBC, прекращающих обработку после сбоя команды - Начиная с:
- 1.2
- См. также:
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int[] updateCounts)
BatchUpdateException, инициализированный заданными reason, SQLState и updateCounts. cause не инициализируется и впоследствии может быть инициализирован вызовом метода Throwable.initCause(java.lang.Throwable). Код производителя инициализируется значением 0. Примечание: updateCounts не проверяется на переполнение, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState,
int vendorCode, long []updateCounts, Throwable cause) .
- Параметры:
-
reason— описание исключения -
SQLState— код XOPEN или SQL:2003, идентифицирующий исключение -
updateCounts— массивint, каждый элемент которого указывает количество обновлённых строк,Statement.SUCCESS_NO_INFOилиStatement.EXECUTE_FAILEDдля каждой SQL-команды в пакете для драйверов JDBC, продолжающих обработку после сбоя команды; количество обновлённых строк илиStatement.SUCCESS_NO_INFOдля каждой SQL-команды в пакете до сбоя для драйверов JDBC, прекращающих обработку после сбоя команды - Начиная с:
- 1.2
- См. также:
BatchUpdateException
public BatchUpdateException(String reason, int[] updateCounts)
BatchUpdateException, инициализированный заданными reason и updateCounts. cause не инициализируется и впоследствии может быть инициализирован вызовом метода Throwable.initCause(java.lang.Throwable). SQLState инициализируется значением null, а код производителя — значением 0. Примечание: updateCounts не проверяется на переполнение, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState,
int vendorCode, long []updateCounts, Throwable cause) .
- Параметры:
-
reason— описание исключения -
updateCounts— массивint, каждый элемент которого указывает количество обновлённых строк,Statement.SUCCESS_NO_INFOилиStatement.EXECUTE_FAILEDдля каждой SQL-команды в пакете для драйверов JDBC, продолжающих обработку после сбоя команды; количество обновлённых строк илиStatement.SUCCESS_NO_INFOдля каждой SQL-команды в пакете до сбоя для драйверов JDBC, прекращающих обработку после сбоя команды - Начиная с:
- 1.2
- См. также:
BatchUpdateException
public BatchUpdateException(int[] updateCounts)
BatchUpdateException, инициализированный заданным updateCounts. инициализируется вызовом метода Throwable.initCause(java.lang.Throwable). reason и SQLState инициализируются значением null, а код производителя — значением 0. Примечание: updateCounts не проверяется на переполнение, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState,
int vendorCode, long []updateCounts, Throwable cause) .
- Параметры:
-
updateCounts— массивint, каждый элемент которого указывает количество обновлённых строк,Statement.SUCCESS_NO_INFOилиStatement.EXECUTE_FAILEDдля каждой SQL-команды в пакете для драйверов JDBC, продолжающих обработку после сбоя команды; количество обновлённых строк илиStatement.SUCCESS_NO_INFOдля каждой SQL-команды в пакете до сбоя для драйверов JDBC, прекращающих обработку после сбоя команды - Начиная с:
- 1.2
- См. также:
BatchUpdateException
public BatchUpdateException()
BatchUpdateException. reason, SQLState и updateCounts инициализируются значением null, а код производителя — значением 0. cause не инициализируется и впоследствии может быть инициализирован вызовом метода Throwable.initCause(java.lang.Throwable).- Начиная с:
- 1.2
- См. также:
BatchUpdateException
public BatchUpdateException(Throwable cause)
BatchUpdateException, инициализированный заданным cause. SQLState и updateCounts инициализируются значением null, а код производителя — значением 0. reason инициализируется значением null, если cause==null, или значением cause.toString(), если cause!=null.- Параметры:
-
cause— основная причина этогоSQLException(сохраняется для последующего получения методомgetCause()); может иметь значение null, указывающее на отсутствие или неизвестность причины. - Начиная с:
- 1.6
- См. также:
BatchUpdateException
public BatchUpdateException(int[] updateCounts, Throwable cause)
BatchUpdateException, инициализированный заданными cause и updateCounts. SQLState инициализируется значением null, а код производителя — значением 0. reason инициализируется значением null, если cause==null, или значением cause.toString(), если cause!=null. Примечание: updateCounts не проверяется на переполнение, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState,
int vendorCode, long []updateCounts, Throwable cause) .
- Параметры:
-
updateCounts— массивint, каждый элемент которого указывает количество обновлённых строк,Statement.SUCCESS_NO_INFOилиStatement.EXECUTE_FAILEDдля каждой SQL-команды в пакете для драйверов JDBC, продолжающих обработку после сбоя команды; количество обновлённых строк илиStatement.SUCCESS_NO_INFOдля каждой SQL-команды в пакете до сбоя для драйверов JDBC, прекращающих обработку после сбоя команды -
cause— основная причина этогоSQLException(сохраняется для последующего получения методомgetCause()); может иметь значение null, указывающее на отсутствие или неизвестность причины. - Начиная с:
- 1.6
- См. также:
BatchUpdateException
public BatchUpdateException(String reason, int[] updateCounts, Throwable cause)
BatchUpdateException, инициализированный заданными reason, cause и updateCounts. SQLState инициализируется значением null, а код производителя — значением 0. Примечание: updateCounts не проверяется на переполнение, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState,
int vendorCode, long []updateCounts, Throwable cause) .
- Параметры:
-
reason— описание исключения -
updateCounts— массивint, каждый элемент которого указывает количество обновлённых строк,Statement.SUCCESS_NO_INFOилиStatement.EXECUTE_FAILEDдля каждой SQL-команды в пакете для драйверов JDBC, продолжающих обработку после сбоя команды; количество обновлённых строк илиStatement.SUCCESS_NO_INFOдля каждой SQL-команды в пакете до сбоя для драйверов JDBC, прекращающих обработку после сбоя команды -
cause— основная причина этогоSQLException(сохраняется для последующего получения методомgetCause()); может иметь значение null, указывающее на отсутствие или неизвестность причины. - Начиная с:
- 1.6
- См. также:
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int[] updateCounts, Throwable cause)
BatchUpdateException, инициализированный заданными reason, SQLState,cause и updateCounts. Код производителя инициализируется значением 0.- Параметры:
-
reason— описание исключения -
SQLState— код XOPEN или SQL:2003, идентифицирующий исключение -
updateCounts— массивint, каждый элемент которого указывает количество обновлённых строк,Statement.SUCCESS_NO_INFOилиStatement.EXECUTE_FAILEDдля каждой SQL-команды в пакете для драйверов JDBC, продолжающих обработку после сбоя команды; количество обновлённых строк илиStatement.SUCCESS_NO_INFOдля каждой SQL-команды в пакете до сбоя для драйверов JDBC, прекращающих обработку после сбоя командыПримечание:
updateCountsне проверяется на переполнение, поэтому рекомендуется использовать конструкторBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause). -
cause— основная причина этогоSQLException(сохраняется для последующего получения методомgetCause()); может иметь значение null, указывающее на отсутствие или неизвестность причины. - Начиная с:
- 1.6
- См. также:
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts, Throwable cause)
BatchUpdateException, инициализированный заданными reason, SQLState, vendorCode cause и updateCounts.- Параметры:
-
reason— описание ошибки -
SQLState— код XOPEN или SQL:2003, идентифицирующий исключение -
vendorCode— код исключения, используемый конкретным производителем базы данных -
updateCounts— массивint, каждый элемент которого указывает количество обновлённых строк,Statement.SUCCESS_NO_INFOилиStatement.EXECUTE_FAILEDдля каждой SQL-команды в пакете для драйверов JDBC, продолжающих обработку после сбоя команды; количество обновлённых строк илиStatement.SUCCESS_NO_INFOдля каждой SQL-команды в пакете до сбоя для драйверов JDBC, прекращающих обработку после сбоя командыПримечание:
updateCountsне проверяется на переполнение, поэтому рекомендуется использовать конструкторBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause). -
cause— основная причина этогоSQLException(сохраняется для последующего получения методомgetCause()); может иметь значение null, указывающее на отсутствие или неизвестность причины. - Начиная с:
- 1.6
- См. также:
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int vendorCode, long[] updateCounts, Throwable cause)
BatchUpdateException, инициализированный заданными значениями reason, SQLState, vendorCode cause и updateCounts. Этот конструктор следует использовать, когда возвращаемое количество обновленных строк может превышать Integer.MAX_VALUE.
- Параметры:
-
reason— описание ошибки -
SQLState— код XOPEN или SQL:2003, идентифицирующий исключение -
vendorCode— код исключения, используемый конкретным поставщиком базы данных -
updateCounts— массивlong, в котором каждый элемент указывает количество обновленных строк,Statement.SUCCESS_NO_INFOилиStatement.EXECUTE_FAILEDдля каждой SQL-команды в пакете, если драйвер JDBC продолжает обработку после сбоя команды; количество обновленных строк илиStatement.SUCCESS_NO_INFOдля каждой SQL-команды в пакете до сбоя, если драйвер JDBC прекращает обработку после сбоя команды -
cause— основная причина этогоSQLException(сохраняется для последующего получения методомgetCause()); может иметь значение null, указывающее, что причина отсутствует или неизвестна. - Начиная с:
- 1.8
Подробное описание методов
getUpdateCounts
public int[] getUpdateCounts()
BatchUpdateException. Возможные значения, возвращаемые этим методом, были изменены для Java 2 SDK, Standard Edition, версии 1.3. Это было сделано для поддержки новой возможности продолжать обработку команд пакетного обновления после выбрасывания объекта BatchUpdateException.
- Возвращает:
- массив
int, содержащий количества обновленных строк для обновлений, успешно выполненных до возникновения этой ошибки. Или, если драйвер продолжает обработку команд после ошибки, одно из следующих значений для каждой команды в пакете:- количество обновленных строк
-
Statement.SUCCESS_NO_INFOуказывает, что команда выполнена успешно, но количество затронутых строк неизвестно -
Statement.EXECUTE_FAILEDуказывает, что команда не была успешно выполнена
- Начиная с:
- 1.3
- См. также:
getLargeUpdateCounts
public long[] getLargeUpdateCounts()
BatchUpdateException. Этот метод следует использовать, если вызывается Statement.executeLargeBatch, а возвращаемое количество обновленных строк может превышать Integer.MAX_VALUE.
- Возвращает:
- массив
long, содержащий количества обновленных строк для обновлений, успешно выполненных до возникновения этой ошибки. Или, если драйвер продолжает обработку команд после ошибки, одно из следующих значений для каждой команды в пакете:- количество обновленных строк
-
Statement.SUCCESS_NO_INFOуказывает, что команда выполнена успешно, но количество затронутых строк неизвестно -
Statement.EXECUTE_FAILEDуказывает, что команда не была успешно выполнена
- Начиная с:
- 1.8
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.