Spec-Zone.ru › OpenJDK 24

Класс 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.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(int[] updateCounts)
Создаёт объект BatchUpdateException, инициализированный заданным updateCounts.
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()
Возвращает счётчик обновлений для каждой инструкции обновления в пакетном обновлении, успешно выполненной до возникновения этой ошибки.

Методы, объявленные в классе 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(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) .

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

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()
Возвращает количество обновлений для каждой успешно выполненной SQL-команды в пакетной операции до возникновения этого исключения. Драйвер, реализующий пакетные обновления, может или не может продолжить обработку оставшихся команд в пакетной операции при сбое одной из команд. Если драйвер продолжает обработку команд, массив, возвращаемый этим методом, будет содержать столько элементов, сколько команд в пакетной операции; в противном случае он будет содержать количество обновлений для каждой успешно выполненной команды до выброса исключения BatchUpdateException.

Возможные значения возвращаемого массива изменены для Java 2 SDK, Standard Edition, версия 1.3. Это было сделано для поддержки новой возможности продолжения обработки команд в пакетных операциях после выброса объекта BatchUpdateException.

Returns:
массив int, содержащий количество обновлений для успешно выполненных обновлений до момента возникновения ошибки. Или, если драйвер продолжает обработку команд после ошибки, одно из следующих значений для каждой команды в пакетной операции:
  1. количество обновлений
  2. Statement.SUCCESS_NO_INFO, чтобы указать, что команда выполнена успешно, но количество затронутых строк неизвестно
  3. Statement.EXECUTE_FAILED, чтобы указать, что команда не выполнена успешно
Since:
1.3
See Also:
  • getLargeUpdateCounts()

getLargeUpdateCounts

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

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

Returns:
массив long, содержащий количество обновлений для успешно выполненных обновлений до момента возникновения ошибки. Или, если драйвер продолжает обработку команд после ошибки, одно из следующих значений для каждой команды в пакетной операции:
  1. количество обновлений
  2. Statement.SUCCESS_NO_INFO, чтобы указать, что команда выполнена успешно, но количество затронутых строк неизвестно
  3. 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

Spec-Zone.ru

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