ConcurrentModificationException クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。
[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 によって提供されるすべての汎用コレクション実装の実装を含む) は、この動作が検出された場合にこの例外をスローすることを選択できます。 これを行う反復子は、迅速かつクリーンに失敗するため、フェイルファスト反復子と呼ばれます。将来、不確定な時点で任意の非決定論的な動作を危険にさらすのではありません。
この例外は、オブジェクトが別のスレッドによって同時に変更されたことを示すわけではありません。 1 つのスレッドがオブジェクトのコントラクトに違反するメソッド呼び出しのシーケンスを発行した場合、オブジェクトはこの例外をスローする可能性があります。 たとえば、高速でない反復子を使用してコレクションを反復処理しているときにスレッドがコレクションを直接変更した場合、反復子はこの例外をスローします。
フェイルファスト動作は、一般的に言えば、同期されていない同時変更が存在する場合にハード保証を行うことは不可能であるため、保証できないことに注意してください。 フェイルファスト操作はベスト エフォートベースでスロー ConcurrentModificationException
されます。 したがって、この例外に依存するプログラムを正しく ConcurrentModificationException
記述するのは間違っています。バグを検出するためにのみ使用する必要があります。
1.2 で追加されました。
の Java ドキュメントjava.util.ConcurrentModificationException
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
ConcurrentModificationException() |
詳細メッセージなしで ConcurrentModificationException を構築します。 |
ConcurrentModificationException(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
ConcurrentModificationException(String) |
指定した詳細メッセージを含む a |
ConcurrentModificationException(String, Throwable) |
指定した詳細メッセージと原因を含む新しい例外を構築します。 |
ConcurrentModificationException(Throwable) |
指定した原因と詳細メッセージ |
フィールド
is_generated |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
プロパティ
Cause |
このスロー可能な原因、または |
Class |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Throwable) |
JniIdentityHashCode |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
JniPeerMembers |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 |
LocalizedMessage |
このスロー可能なローカライズされた説明を作成します。 (継承元 Throwable) |
Message |
このスロー可能な詳細メッセージ文字列を返します。 (継承元 Throwable) |
PeerReference |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
StackTrace |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
AddSuppressed(Throwable) |
この例外を配信するために抑制された例外に、指定した例外を追加します。 (継承元 Throwable) |
Dispose() |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
Dispose(Boolean) |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
FillInStackTrace() |
実行スタック トレースを入力します。 (継承元 Throwable) |
GetStackTrace() |
によって出力されるスタック トレース情報へのプログラムによる |
GetSuppressed() |
この例外を配信するために、通常は -with-resources ステートメントによって抑制されたすべての例外を |
InitCause(Throwable) |
このスロー可能な原因を、指定された値に初期化します。 (継承元 Throwable) |
PrintStackTrace() |
このスロー可能とそのバックトレースを標準エラー ストリームに出力します。 (継承元 Throwable) |
PrintStackTrace(PrintStream) |
このスロー可能なオブジェクトとそのバックトレースを、指定された印刷ストリームに出力します。 (継承元 Throwable) |
PrintStackTrace(PrintWriter) |
このスロー可能ファイルとそのバックトレースを、指定された印刷ライターに出力します。 (継承元 Throwable) |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Throwable) |
SetStackTrace(StackTraceElement[]) |
メソッドによって返され、関連するメソッドによって |
ToString() |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
UnregisterFromRuntime() |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
IJavaPeerable.DisposeUnlessReferenced() |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
IJavaPeerable.Finalized() |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
IJavaPeerable.JniManagedPeerState |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 (継承元 Throwable) |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 |
GetJniTypeName(IJavaPeerable) |
この例外は、そのような変更が許容されない場合に、オブジェクトの同時変更を検出したメソッドによってスローされる可能性があります。 |