Класс 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. |
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) .
- Параметры:
-
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.- 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, Стандартное издание, версия 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, 2023, 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/21/docs/api/java.sql/java/sql/BatchUpdateException.html