MatchException 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
丟出表示模式匹配意外失敗。
[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) |
構造出具有指定細節訊息與原因的 。 |
欄位
| 名稱 | Description |
|---|---|
| is_generated |
表示此投擲物是否由綁定產生。 (繼承來源 Throwable) |
屬性
| 名稱 | Description |
|---|---|
| Cause |
回傳此擲物的原因,或 |
| 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 |
|---|---|
| IJavaPeerable.Disposed() |
丟出表示模式匹配意外失敗。 (繼承來源 JavaException) |
| IJavaPeerable.Finalized() |
丟出表示模式匹配意外失敗。 (繼承來源 JavaException) |
| IJavaPeerable.JniObjectReferenceControlBlock |
丟出表示模式匹配意外失敗。 (繼承來源 JavaException) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
丟出表示模式匹配意外失敗。 (繼承來源 JavaException) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
丟出表示模式匹配意外失敗。 (繼承來源 JavaException) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
丟出表示模式匹配意外失敗。 (繼承來源 JavaException) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
丟出表示模式匹配意外失敗。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |