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
- Наследование
- Производный
- Атрибуты
Комментарии
Это исключение может быть вызвано методами, которые обнаружили параллельное изменение объекта, если такое изменение не допускается.
Например, обычно это не допускается для одного потока для изменения коллекции, а другой поток выполняет итерацию по нему. Как правило, результаты итерации не определены в этих обстоятельствах. Некоторые реализации итератора (включая те из всех реализаций коллекции общего назначения, предоставляемых JRE), могут вызвать это исключение, если это поведение обнаружено. Итераторы, которые делают это, называются итераторами без сбоя, так как они быстро и чисто завершаются ошибкой, а рисковать произвольным, недетерминированным поведением в будущем.
Обратите внимание, что это исключение не всегда означает, что объект был одновременно изменен другим потоком. Если один поток выдает последовательность вызовов метода, которые нарушают контракт объекта, объект может вызвать это исключение. Например, если поток изменяет коллекцию непосредственно во время итерации по коллекции с помощью итератора с ошибкой, итератор вызовет это исключение.
Обратите внимание, что не удается гарантировать быстрое поведение, как правило, невозможно сделать какие-либо жесткие гарантии в присутствии несинхронизированных одновременных изменений. Операции, выполняемые сбоем, создаются ConcurrentModificationException на основе лучших усилий. Поэтому было бы неправильно написать программу, которая зависит от этого исключения для его правильности: ConcurrentModificationException следует использовать только для обнаружения ошибок.
Добавлено в версии 1.2.
Java документации по java.util.ConcurrentModificationException.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".
Конструкторы
| Имя | Описание |
|---|---|
| ConcurrentModificationException() |
Создает значение ConcurrentModificationException без подробных сообщений. |
| ConcurrentModificationException(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
| ConcurrentModificationException(String, Throwable) |
Создает новое исключение с указанным сообщением подробностей и причиной. |
| ConcurrentModificationException(String) |
Создает сообщение |
| ConcurrentModificationException(Throwable) |
Создает новое исключение с указанной причиной и подробным сообщением |
Поля
| Имя | Описание |
|---|---|
| is_generated |
Указывает, был ли этот бросаемый объект создан привязкой. (Унаследовано от Throwable) |
Свойства
| Имя | Описание |
|---|---|
| Cause |
Возвращает причину этого бросаемого |
| 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() |
Предоставляет программный доступ к сведениям трассировки стека, напечатанным |
| GetSuppressed() |
Возвращает массив, содержащий все исключения, которые были подавлены оператором |
| 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[]) |
Задает элементы трассировки стека, возвращаемые и печатаемые |
| 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 типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Это исключение может быть вызвано методами, которые обнаружили параллельное изменение объекта, если такое изменение не допускается. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |