MatchException Clase

Definición

Se produce para indicar un error inesperado en la coincidencia de patrones.

[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
Herencia
Atributos

Comentarios

Se produce para indicar un error inesperado en la coincidencia de patrones.

MatchException se puede producir cuando una construcción exhaustiva del lenguaje de coincidencia de patrones (como una switch expresión) encuentra un valor que no coincide con ninguno de los patrones especificados en tiempo de ejecución, aunque la construcción se haya considerado exhaustiva. Esto es intencionado y puede surgir de una serie de casos:

<ul><li>Se han cambiado las anomalías de compilación, donde partes de la jerarquía de tipos a las que se ha cambiado la referencia de patrones, pero no se ha vuelto a compilar la construcción de coincidencia de patrones. Por ejemplo, si una interfaz sellada tiene un conjunto diferente de subtipos permitidos en tiempo de ejecución de lo que tenía en tiempo de compilación, o si una clase de enumeración tiene un conjunto diferente de constantes de enumeración en tiempo de ejecución que tenía en tiempo de compilación, o si la jerarquía de tipos se ha cambiado de alguna manera incompatible entre el tiempo de compilación y el tiempo de ejecución.</li>

<li>null valores y patrones anidados que implican clases selladas. Si, por ejemplo, una interfaz I tiene sealed dos subclases permitidas A y B, y una clase R de registro tiene un único componente de tipo I, los dos patrones de registro y R(A a) juntos se consideran exhaustivos R(B b) para el tipo R, pero ninguno de estos patrones coincidirá con el resultado de new R(null).</li>

<valores li>null y patrones de registro anidados. Dada una clase S de registro con un único componente de tipo T, donde T es otra clase de registro con un único componente de tipo String, el patrón R(S(var s)) de registro anidado se considera exhaustivo para el tipo R , pero no coincide con el resultado de new R(null) (mientras que coincide con el resultado de new R(new S(null)) sí).</li></ul>

MatchException también se puede producir mediante el proceso de coincidencia de patrones con un valor con un patrón. Por ejemplo, la coincidencia de patrones que implique un patrón de registro puede requerir que los métodos de descriptor de acceso se invoquen implícitamente para extraer los valores del componente. Si alguno de estos métodos de descriptor de acceso produce una excepción, la coincidencia de patrones se completa abruptamente y produce MatchException. La excepción original se establecerá como de Throwable#getCause() cause .MatchException No Throwable#addSuppressed(java.lang.Throwable) suppressed se registrarán excepciones.

Agregado en 21.

Java documentación para java.lang.MatchException.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
MatchException(String, Throwable)

Construye un MatchException objeto con el mensaje de detalle y la causa especificados.

Campos

Nombre Description
is_generated

Indica si el enlace generó este elemento throwable.

(Heredado de Throwable)

Propiedades

Nombre Description
Cause

Devuelve la causa de este lanzamiento o null si la causa es inexistente o desconocida.

(Heredado de Throwable)
Class

Obtiene la clase en tiempo de ejecución de este elemento throwable.

(Heredado de Throwable)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Throwable)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Throwable)
JniPeerMembers

Obtiene los metadatos de JNI usados para invocar miembros de este Java del mismo nivel.

LocalizedMessage

Crea una descripción localizada de este elemento throwable.

(Heredado de Throwable)
Message

Devuelve la cadena de mensaje de detalle de este elemento throwable.

(Heredado de Throwable)
PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Throwable)
StackTrace

Obtiene una representación de cadena del seguimiento de la pila para este elemento throwable.

(Heredado de Throwable)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de RuntimeException)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de RuntimeException)

Métodos

Nombre Description
AddSuppressed(Throwable)

Anexa la excepción especificada a las excepciones que se han suprimido para entregar esta excepción.

(Heredado de Throwable)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Throwable)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Throwable)
FillInStackTrace()

Rellena el seguimiento de la pila de ejecución.

(Heredado de Throwable)
GetStackTrace()

Proporciona acceso mediante programación a la información de seguimiento de la pila impresa por #printStackTrace().

(Heredado de Throwable)
GetSuppressed()

Devuelve una matriz que contiene todas las excepciones que se han suprimido, normalmente mediante la tryinstrucción -with-resources, para entregar esta excepción.

(Heredado de Throwable)
InitCause(Throwable)

Inicializa la causa de este lanzamiento en el valor especificado.

(Heredado de Throwable)
PrintStackTrace()

Imprime este valor throwable y su retroceso en el flujo de error estándar.

(Heredado de Throwable)
PrintStackTrace(PrintStream)

Imprime este elemento throwable y su retroceso en la secuencia de impresión especificada.

(Heredado de Throwable)
PrintStackTrace(PrintWriter)

Imprime este elemento throwable y su retroceso en el escritor de impresión especificado.

(Heredado de Throwable)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Throwable)
SetStackTrace(StackTraceElement[])

Establece los elementos de seguimiento de pila que devolverán #getStackTrace() y imprimirán #printStackTrace() los métodos relacionados y .

(Heredado de Throwable)
ToString()

Convierte este valor en una cadena.

(Heredado de Throwable)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Throwable)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Notifica al tiempo de ejecución de interoperabilidad que se ha eliminado este mismo nivel administrado.

(Heredado de Throwable)
IJavaPeerable.DisposeUnlessReferenced()

Libera este Java del mismo nivel a menos que otra referencia administrada lo conserve.

(Heredado de Throwable)
IJavaPeerable.Finalized()

Notifica al tiempo de ejecución de interoperabilidad que se ha finalizado este mismo nivel administrado.

(Heredado de Throwable)
IJavaPeerable.JniManagedPeerState

Obtiene el estado que describe la relación entre este par administrado y su referencia de JNI.

(Heredado de Throwable)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Establece el código hash de identidad de interoperabilidad para este Java del mismo nivel.

(Heredado de Throwable)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Establece el estado del mismo nivel administrado y JNI para este Java del mismo nivel.

(Heredado de Throwable)
IJavaPeerable.SetPeerReference(JniObjectReference)

Establece la referencia de objeto JNI usada por este par administrado.

(Heredado de Throwable)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Se produce para indicar un error inesperado en la coincidencia de patrones.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a