Язык

ConcurrentModificationException Класс

Определение

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

[Android.Runtime.Register("java/util/ConcurrentModificationException", DoNotGenerateAcw=true)]
public class ConcurrentModificationException : Java.Lang.RuntimeException
[<Android.Runtime.Register("java/util/ConcurrentModificationException", DoNotGenerateAcw=true)>]
type ConcurrentModificationException = class
    inherit RuntimeException
Наследование
ConcurrentModificationException
Производный
Атрибуты

Комментарии

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

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

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

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

Добавлено в версии 1.2.

Java документации по java.util.ConcurrentModificationException.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

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

Имя Описание
ConcurrentModificationException()

Создает значение ConcurrentModificationException без подробных сообщений.

ConcurrentModificationException(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

ConcurrentModificationException(String, Throwable)

Создает новое исключение с указанным сообщением подробностей и причиной.

ConcurrentModificationException(String)

Создает сообщение ConcurrentModificationException с указанными сведениями.

ConcurrentModificationException(Throwable)

Создает новое исключение с указанной причиной и подробным сообщением (cause==null ? null : cause.toString()) (который обычно содержит сообщение о классе и подробном сообщении cause.

Поля

Имя Описание
is_generated

Указывает, был ли этот бросаемый объект создан привязкой.

(Унаследовано от Throwable)

Свойства

Имя Описание
Cause

Возвращает причину этого бросаемого null или если причина не существует или неизвестна.

(Унаследовано от Throwable)
Class

Возвращает класс среды выполнения этого вызываемого объекта.

(Унаследовано от Throwable)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Throwable)
JavaStackTrace

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

(Унаследовано от JavaException)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Throwable)
JniManagedPeerState

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

(Унаследовано от JavaException)
JniPeerMembers

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

LocalizedMessage

Создает локализованное описание этого вызываемого объекта.

(Унаследовано от Throwable)
Message

Возвращает строку подробного сообщения этого вызываемого объекта.

(Унаследовано от Throwable)
PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Throwable)
StackTrace

Возвращает строковое представление трассировки стека для этого вызываемого объекта.

(Унаследовано от Throwable)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Имя Описание
AddSuppressed(Throwable)

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

(Унаследовано от Throwable)
Construct(JniObjectReference, JniObjectReferenceOptions)

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

(Унаследовано от JavaException)
Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Throwable)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Throwable)
DisposeUnlessReferenced()

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

(Унаследовано от JavaException)
Equals(Object)

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

(Унаследовано от JavaException)
FillInStackTrace()

Заполняет трассировку стека выполнения.

(Унаследовано от Throwable)
GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от JavaException)
GetStackTrace()

Предоставляет программный доступ к сведениям трассировки стека, напечатанным #printStackTrace().

(Унаследовано от Throwable)
GetSuppressed()

Возвращает массив, содержащий все исключения, которые были подавлены оператором try-with-resources для доставки этого исключения.

(Унаследовано от Throwable)
InitCause(Throwable)

Инициализирует причину этого бросаемого значения в указанное значение.

(Унаследовано от Throwable)
PrintStackTrace()

Выводит этот бросаемый объект и его обратную откат к стандартному потоку ошибок.

(Унаследовано от Throwable)
PrintStackTrace(PrintStream)

Печатает этот бросаемый объект и его обратный вывод в указанный поток печати.

(Унаследовано от Throwable)
PrintStackTrace(PrintWriter)

Печатает этот бросаемый объект и его обратный вывод в указанный модуль записи печати.

(Унаследовано от Throwable)
SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Throwable)
SetJavaStackTrace(JniObjectReference)

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

(Унаследовано от JavaException)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

(Унаследовано от JavaException)
SetStackTrace(StackTraceElement[])

Задает элементы трассировки стека, возвращаемые и печатаемые #getStackTrace()#printStackTrace() и связанные методы.

(Унаследовано от Throwable)
ToString()

Преобразует это значение в строку.

(Унаследовано от Throwable)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Throwable)

Явные реализации интерфейса

Имя Описание
IJavaPeerable.Disposed()

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

(Унаследовано от JavaException)
IJavaPeerable.Finalized()

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

(Унаследовано от JavaException)
IJavaPeerable.JniObjectReferenceControlBlock

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

(Унаследовано от JavaException)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Унаследовано от JavaException)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Унаследовано от JavaException)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Унаследовано от JavaException)

Методы расширения

Имя Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к