Condividi tramite


ConcurrentModificationException Classe

Definizione

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

[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
Ereditarietà
ConcurrentModificationException
Derivato
Attributi

Commenti

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

Ad esempio, non è in genere consentito che un thread modifichi una raccolta mentre un altro thread esegue l'iterazione su di esso. In generale, i risultati dell'iterazione non sono definiti in queste circostanze. Alcune implementazioni di Iteratore (incluse quelle di tutte le implementazioni della raccolta per utilizzo generico fornite da JRE) possono scegliere di generare questa eccezione se viene rilevato questo comportamento. Gli iteratori che eseguono questa operazione sono noti come iteratori veloci a errori, in quanto hanno esito negativo in modo rapido e pulito, piuttosto che rischiare un comportamento arbitrario non deterministico in un momento non deterministico in futuro.

Si noti che questa eccezione non indica sempre che un oggetto è stato modificato contemporaneamente da un thread diverso . Se un singolo thread genera una sequenza di chiamate al metodo che viola il contratto di un oggetto, l'oggetto può generare questa eccezione. Ad esempio, se un thread modifica direttamente una raccolta mentre esegue l'iterazione sulla raccolta con un iteratore con esito negativo, l'iteratore genererà questa eccezione.

Si noti che il comportamento di fail-fast non può essere garantito così come è, in generale, impossibile fare garanzie difficili in presenza di modifiche simultanee non sincronizzate. Le operazioni con errori veloci generano ConcurrentModificationException un'operazione di tipo best-effort. Pertanto, sarebbe sbagliato scrivere un programma che dipende da questa eccezione per la correttezza: ConcurrentModificationException deve essere usato solo per rilevare i bug.

Aggiunta nella versione 1.2.

Documentazione java per java.util.ConcurrentModificationException.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Costruttori

ConcurrentModificationException()

Costruisce un'eccezione ConcurrentModificationException senza alcun messaggio di dettaglio.

ConcurrentModificationException(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

ConcurrentModificationException(String)

Costruisce un ConcurrentModificationException oggetto con il messaggio di dettaglio specificato.

ConcurrentModificationException(String, Throwable)

Costruisce una nuova eccezione con il messaggio di dettaglio e la causa specificati.

ConcurrentModificationException(Throwable)

Costruisce una nuova eccezione con la causa specificata e un messaggio di dettaglio di (cause==null ? null : cause.toString()) , che in genere contiene la classe e il messaggio di dettaglio di cause.

Campi

is_generated

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)

Proprietà

Cause

Restituisce la causa di questa eccezione generata o null se la causa è inesistente o sconosciuta.

(Ereditato da Throwable)
Class

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Throwable)
JniIdentityHashCode

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
JniPeerMembers

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

LocalizedMessage

Crea una descrizione localizzata di questa eccezione generata.

(Ereditato da Throwable)
Message

Restituisce la stringa di messaggio di dettaglio di questa eccezione generata.

(Ereditato da Throwable)
PeerReference

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
StackTrace

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

AddSuppressed(Throwable)

Aggiunge l'eccezione specificata alle eccezioni eliminate per recapitare questa eccezione.

(Ereditato da Throwable)
Dispose()

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
Dispose(Boolean)

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
FillInStackTrace()

Compila l'analisi dello stack di esecuzione.

(Ereditato da Throwable)
GetStackTrace()

Fornisce l'accesso a livello di codice alle informazioni di analisi dello stack stampate da #printStackTrace().

(Ereditato da Throwable)
GetSuppressed()

Restituisce una matrice contenente tutte le eccezioni eliminate, in genere dall'istruzione try-with-resources, per recapitare questa eccezione.

(Ereditato da Throwable)
InitCause(Throwable)

Inizializza la causa di questa eccezione generata sul valore specificato.

(Ereditato da Throwable)
PrintStackTrace()

Stampa l'eccezione generata e il relativo backtrace nel flusso di errore standard.

(Ereditato da Throwable)
PrintStackTrace(PrintStream)

Stampa l'eccezione generata e il relativo backtrace nel flusso di stampa specificato.

(Ereditato da Throwable)
PrintStackTrace(PrintWriter)

Stampa l'eccezione generata e il relativo backtrace nel writer di stampa specificato.

(Ereditato da Throwable)
SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Throwable)
SetStackTrace(StackTraceElement[])

Imposta gli elementi di analisi dello stack che verranno restituiti da #getStackTrace() e stampati da #printStackTrace() e metodi correlati.

(Ereditato da Throwable)
ToString()

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
UnregisterFromRuntime()

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
IJavaPeerable.DisposeUnlessReferenced()

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
IJavaPeerable.Finalized()

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
IJavaPeerable.JniManagedPeerState

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)
IJavaPeerable.SetPeerReference(JniObjectReference)

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

(Ereditato da Throwable)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

GetJniTypeName(IJavaPeerable)

Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.

Si applica a