Spec-Zone.ru › OpenJDK 24

Класс ConcurrentModificationException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
java.util.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==null ? null : cause.toString()) (которое обычно содержит класс и сообщение об ошибке 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==null ? null : cause.toString()) (которое обычно содержит класс и сообщение об ошибке cause).
Параметры:
cause - причина (которая сохраняется для последующего извлечения методом Throwable.getCause()). (Разрешено значение null, что указывает на отсутствие или неизвестность причины.)
С тех пор:
1.7

ConcurrentModificationException

public ConcurrentModificationException(String message, Throwable cause)
Создаёт новое исключение с указанным сообщением об ошибке и причиной.

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

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

Отправить отчёт об ошибке или предложить улучшение
Для получения дополнительной информации о справке API и документации для разработчиков, см. Документацию Java SE, которая содержит более подробные описания для разработчиков с концептуальными обзорами, определениями терминов, обходными путями и примерами рабочего кода. Другие версии.
Java является торговой маркой или зарегистрированной торговой маркой Oracle и/или её дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование подчиняется лицензионным условиям и политике распространения документации.
ПРОЕКТ 24-ea+36-Debian-1

© 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.base/java/util/ConcurrentModificationException.html

Spec-Zone.ru

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