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>パターンが参照する型階層の一部が変更されたが、パターン マッチング コンストラクトが再コンパイルされていない場合のコンパイルの異常。 たとえば、シール インターフェイスの実行時に許可されるサブタイプのセットがコンパイル時とは異なる場合、または列挙型クラスの列挙型定数のセットがコンパイル時とは異なる場合や、コンパイル時と実行時の間に互換性のない方法で型階層が変更された場合などです</li>
<li>null 値と、シールされたクラスを含む入れ子になったパターン。 たとえば、インターフェイス Iが 2 つの許可されたサブクラスsealedとAでBされ、レコード クラスRが型Iの単一のコンポーネントを持つ場合、2 つのレコード パターンR(A a)とR(B b)が一緒にR型に対して完全であると見なされますが、これらのパターンはどちらも new R(null).< の結果と一致しません。/li>
<li>null 値と入れ子になったレコード パターン。
S型の 1 つのコンポーネントを持つレコード クラスT場合、Tは型Stringの 1 つのコンポーネントを持つ別のレコード クラスです。入れ子になったレコード パターンR(S(var s))は、型Rに対して完全であると見なされますが、new R(null)の結果と一致しません (一方、new R(new S(null))の結果と一致します)。</li></ul>
MatchException は、パターンに対して値を照合するパターンのプロセスによってスローされる場合もあります。 たとえば、レコード パターンを含むパターン マッチングでは、コンポーネント値を抽出するためにアクセサー メソッドを暗黙的に呼び出す必要がある場合があります。 これらのアクセサー メソッドのいずれかが例外をスローすると、パターン マッチングが突然完了し、 MatchExceptionがスローされます。 元の例外は、Throwable#getCause() causeのMatchExceptionとして設定されます。
Throwable#addSuppressed(java.lang.Throwable) suppressed例外は記録されません。
21 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| MatchException(String, Throwable) |
指定した詳細メッセージと原因を含む |
フィールド
| 名前 | 説明 |
|---|---|
| is_generated |
このスロー可能なオブジェクトがバインディングによって生成されたかどうかを示します。 (継承元 Throwable) |
プロパティ
| 名前 | 説明 |
|---|---|
| Cause |
原因が存在しないか不明な場合は、このスロー可能または |
| Class |
このスロー可能なランタイム クラスを取得します。 (継承元 Throwable) |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Throwable) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Throwable) |
| JniPeerMembers |
このJava ピアのメンバーを呼び出すために使用される JNI メタデータを取得します。 |
| LocalizedMessage |
このスロー可能なローカライズされた説明を作成します。 (継承元 Throwable) |
| Message |
このスロー可能な詳細メッセージ文字列を返します。 (継承元 Throwable) |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Throwable) |
| StackTrace |
このスロー可能なスタック トレースの文字列形式を取得します。 (継承元 Throwable) |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 RuntimeException) |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 RuntimeException) |
メソッド
| 名前 | 説明 |
|---|---|
| AddSuppressed(Throwable) |
この例外を配信するために抑制された例外に、指定した例外を追加します。 (継承元 Throwable) |
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Throwable) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Throwable) |
| FillInStackTrace() |
実行スタック トレースを入力します。 (継承元 Throwable) |
| GetStackTrace() |
|
| GetSuppressed() |
この例外を配信するために、通常は |
| InitCause(Throwable) |
このスロー可能な 原因 を、指定された値に初期化します。 (継承元 Throwable) |
| PrintStackTrace() |
このスロー可能とそのバックトレースを標準エラー ストリームに出力します。 (継承元 Throwable) |
| PrintStackTrace(PrintStream) |
このスロー可能なオブジェクトとそのバックトレースを、指定された印刷ストリームに出力します。 (継承元 Throwable) |
| PrintStackTrace(PrintWriter) |
このスロー可能ファイルとそのバックトレースを、指定された印刷ライターに出力します。 (継承元 Throwable) |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Throwable) |
| SetStackTrace(StackTraceElement[]) |
|
| ToString() |
この値を文字列に変換します。 (継承元 Throwable) |
| UnregisterFromRuntime() |
相互運用ランタイムからこのJava ピアの登録を解除します。 (継承元 Throwable) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
このマネージド ピアが破棄されたことを相互運用ランタイムに通知します。 (継承元 Throwable) |
| IJavaPeerable.DisposeUnlessReferenced() |
別のマネージド参照によって保持されない限り、このJavaピアを解放します。 (継承元 Throwable) |
| IJavaPeerable.Finalized() |
このマネージド ピアが終了したことを相互運用ランタイムに通知します。 (継承元 Throwable) |
| IJavaPeerable.JniManagedPeerState |
このマネージド ピアとその JNI 参照の間の関係を記述する状態を取得します。 (継承元 Throwable) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
このJava ピアの相互運用 ID ハッシュ コードを設定します。 (継承元 Throwable) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
このJava ピアのマネージド ピアと JNI ピアの状態を設定します。 (継承元 Throwable) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
このマネージド ピアで使用される JNI オブジェクト参照を設定します。 (継承元 Throwable) |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
パターン マッチングで予期しないエラーが発生したことを示すためにスローされます。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|