Класс ConcurrentModificationException

Все реализованные интерфейсы:
Serializable
Прямые известные подклассы:
DirectoryIteratorException
public class ConcurrentModificationException
extends RuntimeException

Данное исключение может быть выброшено методами, которые обнаружили одновременное изменение объекта, когда такое изменение недопустимо.

Например, обычно недопустимо, чтобы один поток изменял коллекцию, в то время как другой поток её итерирует. В общем случае результаты итерации в таких обстоятельствах не определены. Некоторые реализации итераторов (включая все реализации общих коллекций, предоставляемые JRE) могут выбрать выброс данного исключения, если такое поведение обнаружено. Итераторы, выполняющие такое поведение, известны как быстродействующие итераторы, так как они быстро и чётко завершают работу, а не рискуют произвольным, недетерминированным поведением в неопределённое время в будущем.

Обратите внимание, что данное исключение не всегда указывает на то, что объект был изменён другим потоком. Если один поток выполняет последовательность вызовов методов, которые нарушают контракт объекта, объект может выбросить данное исключение. Например, если поток изменяет коллекцию непосредственно во время итерации по ней с помощью быстродействующего итератора, итератор выбросит данное исключение.

Обратите внимание, что быстродействующее поведение не может быть гарантировано, так как, в общем случае, невозможно дать какие-либо гарантии в случае несинхронизированного одновременного изменения. Операции с быстродействующими итераторами вызывают ConcurrentModificationException на основе наилучших усилий. Поэтому было бы неправильно писать программу, которая полагалась бы на это исключение для корректности: ConcurrentModificationException следует использовать только для обнаружения ошибок.

С момента:
1.2
См. также:
Collection, Iterator, Spliterator, ListIterator, Vector, LinkedList, HashSet, Hashtable, TreeMap, AbstractList, Сериализованная форма

Конструкторы

Конструктор Описание
ConcurrentModificationException()

Создаёт ConcurrentModificationException без сообщения об ошибке.

ConcurrentModificationException​(String message)

Создаёт ConcurrentModificationException со строкой сообщения об ошибке.

ConcurrentModificationException​(String message, Throwable cause)

Создаёт новое исключение со строкой сообщения об ошибке и причиной.

ConcurrentModificationException​(Throwable cause)

Создаёт новое исключение со строкой сообщения об ошибке и причиной (включая причину, которая обычно содержит класс и сообщение об ошибке cause).

Методы

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

Конструкторы

ConcurrentModificationException

public ConcurrentModificationException()

Создаёт ConcurrentModificationException без сообщения об ошибке.

ConcurrentModificationException

public ConcurrentModificationException(String message)

Создаёт ConcurrentModificationException со строкой сообщения об ошибке.

Параметры:
message - сообщение об ошибке, относящееся к данному исключению.

ConcurrentModificationException

public ConcurrentModificationException(Throwable cause)

Создаёт новое исключение со строкой сообщения об ошибке и причиной (включая причину, которая обычно содержит класс и сообщение об ошибке cause).

Параметры:
cause - причина (которая сохраняется для последующего извлечения методом Throwable.getCause()). (Разрешено значение null, указывающее, что причина отсутствует или неизвестна.)
С момента:
1.7

ConcurrentModificationException

public ConcurrentModificationException(String message,
                                       Throwable cause)

Создаёт новое исключение со строкой сообщения об ошибке и причиной.

Обратите внимание, что сообщение об ошибке, связанное с cause, не автоматически включается в сообщение об ошибке этого исключения.

Параметры:
message - сообщение об ошибке (которое сохраняется для последующего извлечения методом Throwable.getMessage()).
cause - причина (которая сохраняется для последующего извлечения методом Throwable.getCause()). (Разрешено значение null, указывающее, что причина отсутствует или неизвестна.)
С момента:
1.7

© 1993, 2020, 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/11/docs/api/java.base/java/util/ConcurrentModificationException.html

Spec-Zone .ru
спецификации, руководства, описания, API