Sprache

ConcurrentModificationException Klasse

Definition

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

[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
Vererbung
ConcurrentModificationException
Abgeleitet
Attribute

Hinweise

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

Beispielsweise ist es in der Regel nicht zulässig, dass ein Thread eine Sammlung ändert, während ein anderer Thread darüber iteriert. Im Allgemeinen sind die Ergebnisse der Iteration unter diesen Umständen nicht definiert. Einige Iterator-Implementierungen (einschließlich derer aller allgemeinen Sammlungsimplementierungen, die von jrE bereitgestellt werden) können diese Ausnahme auslösen, wenn dieses Verhalten erkannt wird. Iteratoren, die dies tun, werden als Fail-fast-Iteratoren bezeichnet, da sie schnell und sauber fehlschlagen, anstatt ein beliebiges, nicht deterministisches Verhalten zu einem unbestimmten Zeitpunkt in der Zukunft zu riskieren.

Beachten Sie, dass diese Ausnahme nicht immer darauf hinweist, dass ein Objekt gleichzeitig von einem anderen Thread geändert wurde. Wenn ein einzelner Thread eine Abfolge von Methodenaufrufen ausgibt, die den Vertrag eines Objekts verletzen, löst das Objekt diese Ausnahme möglicherweise aus. Wenn z. B. ein Thread eine Auflistung direkt ändert, während sie die Auflistung mit einem failoverschnellen Iterator durchlaufen, löst der Iterator diese Ausnahme aus.

Beachten Sie, dass das fehlschnelle Verhalten nicht garantiert werden kann, da es im Allgemeinen unmöglich ist, im Vorhandensein einer nicht synchronisierten gleichzeitigen Änderung hart zu garantieren. Fehlerschnelle Vorgänge werden auf best-effort-Basis ausgelöst ConcurrentModificationException . Daher wäre es falsch, ein Programm zu schreiben, das von dieser Ausnahme für seine Richtigkeit abhängig ist: ConcurrentModificationException sollte nur verwendet werden, um Fehler zu erkennen.

In 1.2 hinzugefügt.

Java Dokumentation für java.util.ConcurrentModificationException.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
ConcurrentModificationException()

Erstellt eine GleichzeitigeModificationException ohne Detailmeldung.

ConcurrentModificationException(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen.

ConcurrentModificationException(String, Throwable)

Erstellt eine neue Ausnahme mit der angegebenen Detailmeldung und Ursache.

ConcurrentModificationException(String)

Erstellt eine ConcurrentModificationException mit der angegebenen Detailmeldung.

ConcurrentModificationException(Throwable)

Erstellt eine neue Ausnahme mit der angegebenen Ursache und einer Detailmeldung von (cause==null ? null : cause.toString()) (die in der Regel die Klassen- und Detailmeldung enthält cause.

Felder

Name Beschreibung
is_generated

Gibt an, ob diese Ausgelöste durch die Bindung generiert wurde.

(Geerbt von Throwable)

Eigenschaften

Name Beschreibung
Cause

Gibt die Ursache dieses Auslösens zurück oder null wenn die Ursache nicht vorhanden oder unbekannt ist.

(Geerbt von Throwable)
Class

Ruft die Laufzeitklasse dieses Auslösens ab.

(Geerbt von Throwable)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Throwable)
JavaStackTrace

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Throwable)
JniManagedPeerState

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
JniPeerMembers

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

LocalizedMessage

Erstellt eine lokalisierte Beschreibung dieses Auslösens.

(Geerbt von Throwable)
Message

Gibt die Detailmeldungszeichenfolge dieses auslösenden Werts zurück.

(Geerbt von Throwable)
PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(Geerbt von Throwable)
StackTrace

Ruft eine Zeichenfolgendarstellung der Stapelablaufverfolgung für diese auslösende Funktion ab.

(Geerbt von Throwable)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

Methoden

Name Beschreibung
AddSuppressed(Throwable)

Fügt die angegebene Ausnahme an die Ausnahmen an, die unterdrückt wurden, um diese Ausnahme zu übermitteln.

(Geerbt von Throwable)
Construct(JniObjectReference, JniObjectReferenceOptions)

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Throwable)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Throwable)
DisposeUnlessReferenced()

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
Equals(Object)

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
FillInStackTrace()

Füllt die Ausführungsstapelablaufverfolgung aus.

(Geerbt von Throwable)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von JavaException)
GetStackTrace()

Bietet programmgesteuerten Zugriff auf die Stapelablaufverfolgungsinformationen, die von #printStackTrace().

(Geerbt von Throwable)
GetSuppressed()

Gibt ein Array zurück, das alle Ausnahmen enthält, die normalerweise von der tryAnweisung "-with-resources" unterdrückt wurden, um diese Ausnahme zu liefern.

(Geerbt von Throwable)
InitCause(Throwable)

Initialisiert die Ursache dieses Auslösens für den angegebenen Wert.

(Geerbt von Throwable)
PrintStackTrace()

Druckt diesen Auslöser und seine Rückverfolgung auf den Standardfehlerdatenstrom.

(Geerbt von Throwable)
PrintStackTrace(PrintStream)

Druckt diesen throwable und dessen Rückverfolgung auf den angegebenen Druckdatenstrom.

(Geerbt von Throwable)
PrintStackTrace(PrintWriter)

Druckt diesen auswerfbaren Ausdruck und seinen Rückgriff auf den angegebenen Druckschreiber.

(Geerbt von Throwable)
SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Throwable)
SetJavaStackTrace(JniObjectReference)

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
SetStackTrace(StackTraceElement[])

Legt die Stapelablaufverfolgungselemente fest, die von #getStackTrace() und gedruckt von #printStackTrace() und verwandten Methoden zurückgegeben und gedruckt werden.

(Geerbt von Throwable)
ToString()

Wandelt diesen Wert in eine Zeichenfolge um.

(Geerbt von Throwable)
UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Throwable)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
IJavaPeerable.Finalized()

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
IJavaPeerable.JniObjectReferenceControlBlock

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)
IJavaPeerable.SetPeerReference(JniObjectReference)

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

(Geerbt von JavaException)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Diese Ausnahme kann durch Methoden ausgelöst werden, die gleichzeitige Änderungen eines Objekts erkannt haben, wenn diese Änderung nicht zulässig ist.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: