Класс 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
Методы, объявленные в классе Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе 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) .
- Параметры:
-
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.sql/java/sql/BatchUpdateException.html