Класс BatchUpdateException
- Все реализованные интерфейсы:
-
Serializable,Iterable<Throwable>
public class BatchUpdateException extends SQLException
SQLException, выбрасываемый при ошибке во время операции пакетного обновления. В дополнение к информации, предоставляемой SQLException, объект предоставляет счётчики обновлений для всех команд, успешно выполненных во время пакетного обновления, то есть для всех команд, выполненных до возникновения ошибки. Порядок элементов в массиве счётчиков обновлений соответствует порядку добавления команд в пакет. После того, как команда в пакетном обновлении не выполнится должным образом, и будет брошен исключение BatchUpdateException, драйвер может или не может продолжить обработку оставшихся команд в пакете. Если драйвер продолжает обработку после ошибки, массив, возвращаемый методом BatchUpdateException.getUpdateCounts, будет содержать элемент для каждой команды в пакете, а не только для команд, успешно выполненных до ошибки. В случае, когда драйвер продолжает обработку команд, элемент массива для любой невыполненной команды будет Statement.EXECUTE_FAILED.
Реализация драйвера JDBC должна использовать конструктор BatchUpdateException(String reason, String SQLState,
int vendorCode, long []updateCounts, Throwable cause) вместо конструкторов, принимающих int[] для счётчиков обновлений, чтобы избежать возможности переполнения.
Если вызывается метод Statement.executeLargeBatch, рекомендуется вызвать getLargeUpdateCounts вместо getUpdateCounts, чтобы избежать возможного переполнения счётчика целого числа обновлений.
- Since:
- 1.2
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BatchUpdateException() |
Создаёт объект BatchUpdateException. |
BatchUpdateException |
Создаёт объект BatchUpdateException, инициализированный заданным updateCounts. |
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() |
Возвращает счётчик обновлений для каждой инструкции обновления в пакетном обновлении, успешно выполненной до возникновения этой ошибки. |
Методы, объявленные в классе java.sql.SQLException
getErrorCode, getNextException, getSQLState, iterator, setNextException
Методы, объявленные в классе java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе java.lang.Iterable
forEach, spliterator
Подробное описание конструкторов
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) .
- Parameters:
-
reason— описание исключения -
updateCounts— массивint, где каждый элемент указывает количество обновлений,Statement.SUCCESS_NO_INFOилиStatement.EXECUTE_FAILEDдля каждой SQL-команды в пакетной операции для JDBC-драйверов, которые продолжают обработку после сбоя команды; количество обновлений илиStatement.SUCCESS_NO_INFOдля каждой SQL-команды в пакетной операции до сбоя для JDBC-драйверов, которые прекращают обработку после сбоя команды -
cause— основная причина этогоSQLException(которая сохраняется для последующего извлечения методомgetCause()); может быть null, если причина отсутствует или неизвестна. - Since:
- 1.6
- See Also:
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int[] updateCounts, Throwable cause)
BatchUpdateException, инициализированный заданным reason, SQLState, cause и updateCounts. Код поставщика инициализируется значением 0.- Parameters:
-
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, если причина отсутствует или неизвестна. - Since:
- 1.6
- See Also:
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts, Throwable cause)
BatchUpdateException, инициализированный заданным reason, SQLState, vendorCode cause и updateCounts.- Parameters:
-
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, если причина отсутствует или неизвестна. - Since:
- 1.6
- See Also:
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int vendorCode, long[] updateCounts, Throwable cause)
BatchUpdateException, инициализированный заданным reason, SQLState, vendorCode cause и updateCounts. Этот конструктор следует использовать, когда возвращаемое количество обновлений может превышать Integer.MAX_VALUE.
- Parameters:
-
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, если причина отсутствует или неизвестна. - Since:
- 1.8
Методы
getUpdateCounts
public int[] getUpdateCounts()
BatchUpdateException. Возможные значения возвращаемого массива изменены для Java 2 SDK, Standard Edition, версия 1.3. Это было сделано для поддержки новой возможности продолжения обработки команд в пакетных операциях после выброса объекта BatchUpdateException.
- Returns:
- массив
int, содержащий количество обновлений для успешно выполненных обновлений до момента возникновения ошибки. Или, если драйвер продолжает обработку команд после ошибки, одно из следующих значений для каждой команды в пакетной операции:- количество обновлений
-
Statement.SUCCESS_NO_INFO, чтобы указать, что команда выполнена успешно, но количество затронутых строк неизвестно -
Statement.EXECUTE_FAILED, чтобы указать, что команда не выполнена успешно
- Since:
- 1.3
- See Also:
getLargeUpdateCounts
public long[] getLargeUpdateCounts()
BatchUpdateException. Этот метод следует использовать при вызове Statement.executeLargeBatch, и возвращаемое количество обновлений может превышать Integer.MAX_VALUE.
- Returns:
- массив
long, содержащий количество обновлений для успешно выполненных обновлений до момента возникновения ошибки. Или, если драйвер продолжает обработку команд после ошибки, одно из следующих значений для каждой команды в пакетной операции:- количество обновлений
-
Statement.SUCCESS_NO_INFO, чтобы указать, что команда выполнена успешно, но количество затронутых строк неизвестно -
Statement.EXECUTE_FAILED, чтобы указать, что команда не выполнена успешно
- Since:
- 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.sql/java/sql/BatchUpdateException.html