Throwable Clase

Definición

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

[Android.Runtime.Register("java/lang/Throwable", DoNotGenerateAcw=true)]
public class Throwable : Java.Interop.JavaException, IDisposable, Java.IO.ISerializable
[<Android.Runtime.Register("java/lang/Throwable", DoNotGenerateAcw=true)>]
type Throwable = class
    inherit JavaException
    interface IJavaObject
    interface IDisposable
    interface ISerializable
    interface IJavaPeerable
Herencia
Derivado
Atributos
Implementaciones

Comentarios

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java. La instrucción Java Java throw inicia solo los objetos que son instancias de esta clase (o una de sus subclases). Del mismo modo, solo esta clase o una de sus subclases pueden ser el tipo de argumento en una catch cláusula .

Para la comprobación en tiempo de compilación de excepciones, Throwable y cualquier subclase de Throwable que no es también una subclase de o RuntimeExceptionError se considera como excepciones comprobadas.

Las instancias de dos subclases java.lang.Error y java.lang.Exception, se usan convencionalmente para indicar que se han producido situaciones excepcionales. Normalmente, estas instancias se crean recién en el contexto de la situación excepcional para incluir información relevante (como los datos de seguimiento de la pila).

Un valor throwable contiene una instantánea de la pila de ejecución de su subproceso en el momento en que se creó. También puede contener una cadena de mensaje que proporcione más información sobre el error. Con el tiempo, un throwable puede throwable#addSuppressed suprimir otros throwables de propagarse. Por último, el elemento throwable también puede contener una causa: otro objeto throwable que provocó que se construyese este objeto throwable. La grabación de esta información causal se conoce como la instalación de excepciones encadenada , ya que la causa puede, en sí misma, tener una causa, etc., lo que conduce a una "cadena" de excepciones, cada una causada por otra.

Una razón por la que un elemento throwable puede tener una causa es que la clase que produce se crea sobre una abstracción en capas inferiores y se produce un error en una operación en la capa superior debido a un error en la capa inferior. Sería un mal diseño permitir que la capa inferior se propague hacia fuera, ya que generalmente no está relacionada con la abstracción proporcionada por la capa superior. Además, si lo hace, vincularía la API de la capa superior a los detalles de su implementación, suponiendo que la excepción de la capa inferior fuera una excepción comprobada. Si se produce una "excepción ajustada" (es decir, una excepción que contiene una causa) se permite que la capa superior comunique los detalles del error a su autor de llamada sin incurrir en ninguno de estos defectos. Conserva la flexibilidad de cambiar la implementación de la capa superior sin cambiar su API (en particular, el conjunto de excepciones producidas por sus métodos).

Una segunda razón por la que un elemento throwable puede tener una causa es que el método que produce debe ajustarse a una interfaz de uso general que no permita que el método inicie directamente la causa. Por ejemplo, supongamos que una colección persistente se ajusta a la java.util.Collection Collection interfaz y que su persistencia se implementa en la parte posterior java.io. Supongamos que los elementos internos del add método pueden producir una java.io.IOException IOExceptionexcepción . La implementación puede comunicar los detalles de a IOException su autor de llamada mientras se ajusta a la Collection interfaz ajustando el IOException elemento en una excepción sin comprobar adecuada. (La especificación de la colección persistente debe indicar que es capaz de iniciar dichas excepciones).

Una causa se puede asociar a un elemento throwable de dos maneras: a través de un constructor que toma la causa como argumento o a través del #initCause(Throwable) método . Las nuevas clases iniciables que desean permitir que las causas se asocien a ellas deben proporcionar constructores que toman una causa y delegado (quizás indirectamente) a uno de los Throwable constructores que toman una causa.

Dado que el initCause método es público, permite asociar una causa a cualquier elemento throwable, incluso un "iniciable heredado" cuya implementación predecida la adición del mecanismo de encadenamiento de excepciones a Throwable.

Por convención, la clase Throwable y sus subclases tienen dos constructores, uno que no toma argumentos y otro que toma un String argumento que se puede usar para generar un mensaje de detalle. Además, esas subclases que probablemente tengan una causa asociada a ellas deben tener dos constructores más, uno que toma ( Throwable la causa) y otro que toma ( String el mensaje de detalle) y un Throwable (la causa).

Agregado en la versión 1.0.

Java documentación para java.lang.Throwable.

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

Construye un nuevo elemento throwable con null como mensaje de detalle.

Throwable(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Throwable(String, Throwable, Boolean, Boolean)

Construye un nuevo elemento throwable con el mensaje de detalle especificado, causa, #addSuppressed supresión habilitada o deshabilitada, y seguimiento de pila grabable habilitado o deshabilitado.

Throwable(String, Throwable)

Construye un nuevo elemento throwable con el mensaje de detalle y la causa especificados.

Throwable(String)

Construye un nuevo elemento throwable con el mensaje de detalle especificado.

Throwable(Throwable)

Construye un nuevo lanzamiento con la causa especificada y un mensaje de detalle de (cause==null ? null : cause.toString()) (que normalmente contiene la clase y el mensaje de detalle de cause).

Campos

Nombre Description
is_generated

Indica si el enlace generó este elemento throwable.

Propiedades

Nombre Description
Cause

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

Class

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

Handle

Identificador de la instancia de Android subyacente.

JavaStackTrace

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
JniIdentityHashCode

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

JniManagedPeerState

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
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.

Message

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

PeerReference

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

StackTrace

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

ThresholdClass

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

ThresholdType

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

Métodos

Nombre Description
AddSuppressed(Throwable)

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

Construct(JniObjectReference, JniObjectReferenceOptions)

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

DisposeUnlessReferenced()

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
Equals(Object)

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
FillInStackTrace()

Rellena el seguimiento de la pila de ejecución.

Finalize()

Libera los recursos antes de que se recupere este Java del mismo nivel.

FromException(Exception)

Convierte un objeto Exception en .Throwable

GetHashCode()

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
GetStackTrace()

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

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.

InitCause(Throwable)

Inicializa la causa de este lanzamiento en el valor especificado.

PrintStackTrace()

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

PrintStackTrace(PrintStream)

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

PrintStackTrace(PrintWriter)

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

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

SetJavaStackTrace(JniObjectReference)

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
SetStackTrace(StackTraceElement[])

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

ToException(Throwable)

Devuelve la excepción administrada correspondiente al Java especificado que se puede producir.

ToString()

Convierte este valor en una cadena.

UnregisterFromRuntime()

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

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
IJavaPeerable.Finalized()

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
IJavaPeerable.JniObjectReferenceControlBlock

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
IJavaPeerable.SetJniIdentityHashCode(Int32)

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)
IJavaPeerable.SetPeerReference(JniObjectReference)

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

(Heredado de JavaException)

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)

La Throwable clase es la superclase de todos los errores y excepciones del idioma Java.

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