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>パターンが参照する型階層の一部が変更されたが、パターン マッチング コンストラクトが再コンパイルされていない場合のコンパイルの異常。 たとえば、シール インターフェイスの実行時に許可されるサブタイプのセットがコンパイル時とは異なる場合、または列挙型クラスの列挙型定数のセットがコンパイル時とは異なる場合や、コンパイル時と実行時の間に互換性のない方法で型階層が変更された場合などです</li>

<li>null 値と、シールされたクラスを含む入れ子になったパターン。 たとえば、インターフェイス Iが 2 つの許可されたサブクラスsealedABされ、レコード クラス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() causeMatchExceptionとして設定されます。 Throwable#addSuppressed(java.lang.Throwable) suppressed例外は記録されません。

21 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
MatchException(String, Throwable)

指定した詳細メッセージと原因を含む MatchException を構築します。

フィールド

名前 説明
is_generated

このスロー可能なオブジェクトがバインディングによって生成されたかどうかを示します。

(継承元 Throwable)

プロパティ

名前 説明
Cause

原因が存在しないか不明な場合は、このスロー可能または null の原因を返します。

(継承元 Throwable)
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()

#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()

相互運用ランタイムからこの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)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

パターン マッチングで予期しないエラーが発生したことを示すためにスローされます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象