共用方式為


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
繼承
ConcurrentModificationException
衍生
屬性

備註

當不允許這類修改時,偵測到物件同時修改的方法可能會擲回這個例外狀況。

例如,一個線程在逐一查看集合時,通常不允許一個線程修改集合。 一般而言,反覆項目的結果在這些情況下是未定義的。 某些 Iterator 實作(包括 JRE 所提供的所有一般用途集合實作的實作,如果偵測到此行為,可能會選擇擲回這個例外狀況。 執行這項操作的反覆運算器稱為 「失敗快速 反覆運算器」,因為它們會快速且乾淨地失敗,而是在未來不確定的時間冒著任意、不具決定性的行為的風險。

請注意,這個例外狀況不一定表示物件已由 不同的 線程同時修改。 如果單一線程發出違反物件合約的方法調用序列,物件可能會擲回這個例外狀況。 例如,如果線程在以失敗快速反覆運算器逐一查看集合時直接修改集合,反覆運算器將會擲回這個例外狀況。

請注意,無法保證快速失敗的行為,一般來說,不可能在未同步處理並行修改的情況下做出任何硬式保證。 快速作業會以最佳方式擲回 ConcurrentModificationException 。 因此,撰寫依賴此例外狀況的程序正確性是錯誤的: ConcurrentModificationException 應該只用來偵測 Bug。

已在1.2中新增。

java.util.ConcurrentModificationExceptionJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

ConcurrentModificationException()

建構沒有詳細訊息的 ConcurrentModificationException。

ConcurrentModificationException(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

ConcurrentModificationException(String)

ConcurrentModificationException使用指定的詳細資料訊息建構 。

ConcurrentModificationException(String, Throwable)

使用指定的詳細訊息和原因建構新的例外狀況。

ConcurrentModificationException(Throwable)

使用指定的原因和的詳細數據訊息 (cause==null ? null : cause.toString()) 建構新的例外狀況(這通常包含的類別和詳細數據訊息 cause

欄位

is_generated

當不允許這類修改時,偵測到物件同時修改的方法可能會擲回這個例外狀況。

(繼承來源 Throwable)

屬性

Cause

傳回這個可擲回的原因,如果 null 原因不存在或未知,則為 。

(繼承來源 Throwable)
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()

提供以程式設計方式存取 所 #printStackTrace()列印的堆疊追蹤資訊。

(繼承來源 Throwable)
GetSuppressed()

傳回陣列,其中包含隱藏的所有例外狀況,通常是由 try-with-resources 語句,以便傳遞此例外狀況。

(繼承來源 Throwable)
InitCause(Throwable)

初始化這個可擲回至指定值的原因

(繼承來源 Throwable)
PrintStackTrace()

列印這個可擲回的 ,以及其回溯至標準錯誤數據流。

(繼承來源 Throwable)
PrintStackTrace(PrintStream)

列印這個可擲回的 ,並將其回溯到指定的列印數據流。

(繼承來源 Throwable)
PrintStackTrace(PrintWriter)

列印這個可擲回的 ,並將其回溯到指定的列印寫入器。

(繼承來源 Throwable)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Throwable)
SetStackTrace(StackTraceElement[])

設定堆疊追蹤專案,這些專案將由和相關方法所傳回 #getStackTrace() 和列印 #printStackTrace()

(繼承來源 Throwable)
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)

當不允許這類修改時,偵測到物件同時修改的方法可能會擲回這個例外狀況。

適用於