JavaTM Platform
Standard Ed. 6

java.util
クラス ConcurrentModificationException

java.lang.Object
  上位を拡張 java.lang.Throwable
      上位を拡張 java.lang.Exception
          上位を拡張 java.lang.RuntimeException
              上位を拡張 java.util.ConcurrentModificationException
すべての実装されたインタフェース:
Serializable

public class ConcurrentModificationException
extends RuntimeException

この例外は、オブジェクトの並行変更を検出したメソッドによって、そのような変更が許可されていない場合にスローされます。

たとえば、あるスレッドが Collection で繰り返し処理を行なっている間に、別のスレッドがその Collection を変更することは一般に許可されません。通常、そのような環境では、繰り返し処理の結果は保証されません。いくつかの反復子 (Iterator) の実装 (JRE が提供するすべての一般的な目的のコレクションの実装の、反復子の実装を含む) は、その動作が検出された場合にこの例外をスローすることを選択できます。この例外をスローする反復子は、「フェイルファスト」反復子と呼ばれます。 反復子は、将来の予測できない時点において予測できない動作が発生する危険を回避するために、ただちにかつ手際よく例外をスローします。

この例外は、オブジェクトが「別の」スレッドによって並行して更新されていないことを必ずしも示しているわけではありません。単一のスレッドが、オブジェクトの規約に違反する一連のメソッドを発行した場合、オブジェクトはこの例外をスローします。たとえば、フェイルファスト反復子を持つコレクションの繰り返し処理を行いながら、スレッドがコレクションを直接修正する場合、反復子はこの例外をスローします。  

通常、非同期の並行変更がある場合、確かな保証を行うことは不可能なので、フェイルファストの動作を保証することはできません。フェイルファストオペレーションは最善努力原則に基づき、ConcurrentModificationException をスローします。したがって、正確を期すためにこの例外に依存するプログラムを書くことは誤りです。ConcurrentModificationException は、バグを検出するためにのみ使用してください。

導入されたバージョン:
1.2
関連項目:
Collection, Iterator, ListIterator, Vector, LinkedList, HashSet, Hashtable, TreeMap, AbstractList, 直列化された形式

コンストラクタの概要
ConcurrentModificationException()
          詳細メッセージを指定しないで ConcurrentModificationException を構築します。
ConcurrentModificationException(String message)
          指定された詳細メッセージを持つ ConcurrentModificationException を構築します。
 
メソッドの概要
 
クラス java.lang.Throwable から継承されたメソッド
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

ConcurrentModificationException

public ConcurrentModificationException()
詳細メッセージを指定しないで ConcurrentModificationException を構築します。


ConcurrentModificationException

public ConcurrentModificationException(String message)
指定された詳細メッセージを持つ ConcurrentModificationException を構築します。

パラメータ:
message - この例外に関連する詳細メッセージ

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。