MatchException Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
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 |
| 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 |
| GetSuppressed() |
Devuelve una matriz que contiene todas las excepciones que se han suprimido, normalmente mediante la |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| 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 |