Spec-Zone.ru › OpenJDK 27

Класс BatchUpdateException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.sql.SQLException
java.sql.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(int[] updateCounts)
Создаёт объект BatchUpdateException, инициализированный заданным updateCounts. инициализируется вызовом метода Throwable.initCause(java.lang.Throwable).
BatchUpdateException(int[] updateCounts, Throwable cause)
Создаёт объект BatchUpdateException, инициализированный заданным cause и updateCounts.
BatchUpdateException(String reason, int[] updateCounts)
Создаёт объект BatchUpdateException, инициализированный заданным reason и updateCounts.
BatchUpdateException(String reason, int[] updateCounts, Throwable cause)
Создаёт объект BatchUpdateException, инициализированный заданными reason, cause и updateCounts.
BatchUpdateException(String reason, String SQLState, int[] updateCounts)
Создаёт объект BatchUpdateException, инициализированный заданными reason, SQLState и updateCounts.
BatchUpdateException(String reason, String SQLState, int[] updateCounts, Throwable cause)
Создаёт объект BatchUpdateException, инициализированный заданными reason, SQLState,cause и updateCounts.
BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts)
Создаёт объект BatchUpdateException, инициализированный заданными reason, SQLState, vendorCode и updateCounts.
BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts, Throwable cause)
Создаёт объект BatchUpdateException, инициализированный заданными reason, SQLState, vendorCode cause и updateCounts.
BatchUpdateException(String reason, String SQLState, int vendorCode, long[] updateCounts, Throwable cause)
Создаёт объект BatchUpdateException, инициализированный заданными reason, SQLState, vendorCode cause и updateCounts.
BatchUpdateException(Throwable cause)
Создаёт объект 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<Throwable> iterator()
Возвращает итератор по цепочке SQLException.
void setNextException(SQLException ex)
Добавляет объект SQLException в конец цепочки.

Методы, объявленные в классе Throwable

addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Модификатор и тип Метод Описание
final void addSuppressed(Throwable exception)
Добавляет указанное исключение к исключениям, подавленным при возникновении этого исключения.
Throwable fillInStackTrace()
Заполняет трассировку стека вызовов.
Throwable getCause()
Возвращает причину возникновения этого исключения или null, если причина отсутствует или неизвестна.
String getLocalizedMessage()
Создаёт локализованное описание этого исключения.
String getMessage()
Возвращает строку с подробным сообщением этого исключения.
StackTraceElement[] getStackTrace()
Предоставляет программный доступ к сведениям о трассировке стека, выводимым методом Throwable.printStackTrace().
final Throwable[] getSuppressed()
Возвращает массив, содержащий все исключения, которые были подавлены, обычно оператором try-with-resources, при возникновении этого исключения.
Throwable initCause(Throwable cause)
Инициализирует причину возникновения этого исключения указанным значением.
void printStackTrace()
Выводит это исключение и трассировку стека в стандартный поток ошибок.
void printStackTrace(PrintStream s)
Выводит это исключение и трассировку стека в указанный поток вывода.
void printStackTrace(PrintWriter s)
Выводит это исключение и трассировку стека в указанный объект печати.
void setStackTrace(StackTraceElement[] stackTrace)
Задаёт элементы трассировки стека, которые будут возвращены методом Throwable.getStackTrace() и выведены методами Throwable.printStackTrace() и связанными с ним методами.
String toString()
Возвращает краткое описание этого исключения.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Методы, объявленные в интерфейсе Iterable

forEach, spliterator
Модификатор и тип Метод Описание
default void forEach(Consumer<? super Throwable> action)
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не выбросит исключение.
default Spliterator<Throwable> 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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException()
Создает объект BatchUpdateException. reason, SQLState и updateCounts инициализируются значением null, а код производителя — значением 0. cause не инициализируется и впоследствии может быть инициализирован вызовом метода Throwable.initCause(java.lang.Throwable).
Начиная с:
1.2
См. также:
  • BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

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, содержащий количества обновленных строк для обновлений, успешно выполненных до возникновения этой ошибки. Или, если драйвер продолжает обработку команд после ошибки, одно из следующих значений для каждой команды в пакете:
  1. количество обновленных строк
  2. Statement.SUCCESS_NO_INFO указывает, что команда выполнена успешно, но количество затронутых строк неизвестно
  3. Statement.EXECUTE_FAILED указывает, что команда не была успешно выполнена
Начиная с:
1.3
См. также:
  • getLargeUpdateCounts()

getLargeUpdateCounts

public long[] getLargeUpdateCounts()
Возвращает количество обновленных строк для каждой инструкции обновления в пакетном обновлении, которая была успешно выполнена до возникновения этого исключения. Драйвер, поддерживающий пакетные обновления, может продолжить обработку оставшихся команд в пакете после того, как одна из команд не будет выполнена должным образом, а может и не продолжить. Если драйвер продолжает обработку команд, массив, возвращаемый этим методом, будет содержать столько элементов, сколько команд в пакете; в противном случае он будет содержать количество обновленных строк для каждой команды, успешно выполненной до выбрасывания BatchUpdateException.

Этот метод следует использовать, если вызывается Statement.executeLargeBatch, а возвращаемое количество обновленных строк может превышать Integer.MAX_VALUE.

Возвращает:
массив long, содержащий количества обновленных строк для обновлений, успешно выполненных до возникновения этой ошибки. Или, если драйвер продолжает обработку команд после ошибки, одно из следующих значений для каждой команды в пакете:
  1. количество обновленных строк
  2. Statement.SUCCESS_NO_INFO указывает, что команда выполнена успешно, но количество затронутых строк неизвестно
  3. Statement.EXECUTE_FAILED указывает, что команда не была успешно выполнена
Начиная с:
1.8

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее филиалов в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее филиалы, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API