語言

MatchException 類別

定義

丟出表示模式匹配意外失敗。

[Android.Runtime.Register("java/lang/MatchException", ApiSince=36, DoNotGenerateAcw=true)]
public sealed class MatchException : Java.Lang.RuntimeException
[<Android.Runtime.Register("java/lang/MatchException", ApiSince=36, DoNotGenerateAcw=true)>]
type MatchException = class
    inherit RuntimeException
繼承
屬性

備註

丟出表示模式匹配意外失敗。

MatchException 當一個窮盡的模式匹配語言結構(例如表達式 switch )在執行時遇到與任何指定模式不匹配的值時,即使該結構已被認定為窮盡,也可能拋出。 這是刻意為之,可能由多種情況產生:

<ul><li>分離編譯異常,即模式所參考的類型階層部分被更改,但模式匹配結構尚未重新編譯。 例如,如果密封介面在執行時允許的子型別集合與編譯時不同,或 enum 類別在執行時的列舉常數集合與編譯時不同,或編譯時與執行時的型別階層以不相容的方式改變。</李>

< > null LI 值與涉及封閉類別的巢狀模式。 例如,若介面 I 包含 sealed 兩個允許的子類別 A 和 B,且記錄類別 R 有一個類型 I為的單一成分,則兩個記錄模式 R(A a) 和 R(B b) 合計被視為類型 的窮盡, R但這兩個模式都不會與 的 new R(null)結果相匹配。</李>

<LI>null 值與巢狀記錄模式。 給定一個記錄類別 S ,其單一組件為 T,其中 T 是另一個具有單一組件 String的記錄類別,則巢狀記錄模式 R(S(var s)) 被視為該類型 R 的完整,但它與 的 new R(null) 結果不匹配(而與 的結果 new R(new S(null)) 相符)。</li></ul>

MatchException 也可能因為模式匹配值與模式而產生拋接。 例如,涉及記錄模式的模式匹配可能需要隱式呼叫存取器方法以提取元件值。 若任一這些存取器方法拋出例外,模式匹配會突然完成並拋出 MatchException。 原始例外將被設定為 Throwable#getCause() causeMatchException。 不 Throwable#addSuppressed(java.lang.Throwable) suppressed 記錄任何例外。

新增21。

Java 文件 java.lang.MatchException。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
MatchException(String, Throwable)

構造出具有指定細節訊息與原因的 。MatchException

欄位

名稱 Description
is_generated

表示此投擲物是否由綁定產生。

(繼承來源 Throwable)

屬性

名稱 Description
Cause

回傳此擲物的原因,或 null 是原因不存在或未知。

(繼承來源 Throwable)
Class

取得這個丟棄物的執行時類別。

(繼承來源 Throwable)
Handle

底層 Android 實例的帳號。

(繼承來源 Throwable)
JavaStackTrace

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Throwable)
JniManagedPeerState

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
JniPeerMembers

取得用於調用此 Java 節點成員的 JNI 元資料。

LocalizedMessage

建立這個投擲物的在地描述。

(繼承來源 Throwable)
Message

回傳此投擲物的詳細訊息字串。

(繼承來源 Throwable)
PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Throwable)
StackTrace

會得到這個丟棄物堆疊追蹤的字串表示。

(繼承來源 Throwable)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 RuntimeException)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 RuntimeException)

方法

名稱 Description
AddSuppressed(Throwable)

將指定的例外附加於為提供此例外而被抑制的例外。

(繼承來源 Throwable)
Construct(JniObjectReference, JniObjectReferenceOptions)

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Throwable)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Throwable)
DisposeUnlessReferenced()

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
Equals(Object)

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
FillInStackTrace()

填補執行堆疊的追蹤。

(繼承來源 Throwable)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 JavaException)
GetStackTrace()

提供程式化存取由 .#printStackTrace()

(繼承來源 Throwable)
GetSuppressed()

回傳一個陣列,包含所有被抑制的例外,通常透過 try-with-resources 陳述式來傳遞此例外。

(繼承來源 Throwable)
InitCause(Throwable)

將此拋擲 物的起因 初始化為指定的值。

(繼承來源 Throwable)
PrintStackTrace()

列印這個投擲物及其回溯到標準誤差串流。

(繼承來源 Throwable)
PrintStackTrace(PrintStream)

列印此投擲檔及其回溯至指定的列印串流。

(繼承來源 Throwable)
PrintStackTrace(PrintWriter)

列印此投擲檔及其回溯至指定的列印寫入器。

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

設定 Handle 屬性。

(繼承來源 Throwable)
SetJavaStackTrace(JniObjectReference)

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

丟出表示模式匹配意外失敗。

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

設定將由相關方法返回 #getStackTrace() 並列印 #printStackTrace() 的堆疊追蹤元素。

(繼承來源 Throwable)
ToString()

將此值轉換為字串。

(繼承來源 Throwable)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Throwable)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
IJavaPeerable.Finalized()

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
IJavaPeerable.JniObjectReferenceControlBlock

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
IJavaPeerable.SetJniIdentityHashCode(Int32)

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)
IJavaPeerable.SetPeerReference(JniObjectReference)

丟出表示模式匹配意外失敗。

(繼承來源 JavaException)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

丟出表示模式匹配意外失敗。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於