Throwable 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í.
La Throwable
clase es la superclase de todos los errores y excepciones en el lenguaje Java.
[Android.Runtime.Register("java/lang/Throwable", DoNotGenerateAcw=true)]
public class Throwable : Exception, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/lang/Throwable", DoNotGenerateAcw=true)>]
type Throwable = class
inherit Exception
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ISerializable
- Herencia
-
Throwable
- Derivado
- Atributos
- Implementaciones
Comentarios
La Throwable
clase es la superclase de todos los errores y excepciones en el lenguaje Java. La instrucción Java throw
produce 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 los fines de 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 RuntimeException
Error
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 en el contexto de la situación excepcional para incluir información pertinente (como los datos de seguimiento de la pila).
Un iniciable 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 throwable también puede contener una causa: otro throwable que provocó la construcción de este elemento throwable. La grabación de esta información causal se conoce como la instalación de excepción 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 throwable puede tener una causa es que la clase que produce se compila 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 afuera, 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. Iniciar una "excepción ajustada" (es decir, una excepción que contiene una causa) permite que la capa superior comunique los detalles del error a su autor de la llamada sin incurrir en ninguna de estas deficiencias. 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 throwable puede tener una causa es que el método que lo inicia debe cumplir con una interfaz de uso general que no permite al método iniciar la causa directamente. 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 superior java.io
. Supongamos que los elementos internos del add
método pueden producir un java.io.IOException IOException
. La implementación puede comunicar los detalles de IOException
a su autor de llamada al mismo tiempo que se ajusta a la Collection
interfaz ajustando el objeto IOException
en una excepción desactivada adecuada. (La especificación de la colección persistente debe indicar que es capaz de producir estas excepciones).
Una causa se puede asociar a un elemento iniciable 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 estén asociadas a ellas deben proporcionar constructores que toman una causa y un 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 precede a 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 deben tener dos constructores más, uno que toma una Throwable
(la causa) y otra que toma un String
(el mensaje de detalle) y un Throwable
(la causa).
Se ha agregado en la versión 1.0.
Documentación de Java para java.lang.Throwable
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.
Constructores
Throwable() |
Construye un nuevo elemento throwable con |
Throwable(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el entorno de ejecución. |
Throwable(String) |
Construye un nuevo iniciable con el mensaje de detalle especificado. |
Throwable(String, Throwable) |
Construye un nuevo throwable con el mensaje de detalle y la causa especificados. |
Throwable(String, Throwable, Boolean, Boolean) |
Construye un nuevo throwable con el mensaje de detalle especificado, causa, #addSuppressed supresión habilitada o deshabilitada, y el seguimiento de pila grabable habilitado o deshabilitado. |
Throwable(Throwable) |
Construye un nuevo iniciable con la causa especificada y un mensaje de detalle de |
Campos
is_generated |
La |
Propiedades
Cause |
Devuelve la causa de este lanzamiento o |
Class |
La |
Handle |
Identificador de la instancia de Android subyacente. |
JniIdentityHashCode |
La |
JniPeerMembers |
La |
LocalizedMessage |
Crea una descripción localizada de este elemento throwable. |
Message |
Devuelve la cadena de mensaje de detalle de este iniciable. |
PeerReference |
La |
StackTrace |
La |
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
AddSuppressed(Throwable) |
Anexa la excepción especificada a las excepciones suprimidas para entregar esta excepción. |
Dispose() |
La |
Dispose(Boolean) |
La |
FillInStackTrace() |
Rellena el seguimiento de la pila de ejecución. |
Finalize() |
La |
FromException(Exception) | |
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 suprimidas, normalmente por la |
InitCause(Throwable) |
Inicializa la causa de este lanzamiento en el valor especificado. |
PrintStackTrace() |
Imprime este elemento 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. |
SetStackTrace(StackTraceElement[]) |
Establece los elementos de seguimiento de pila devueltos por |
ToException(Throwable) |
La |
ToString() |
La |
UnregisterFromRuntime() |
La |
Implementaciones de interfaz explícitas
IJavaPeerable.Disposed() |
La |
IJavaPeerable.DisposeUnlessReferenced() |
La |
IJavaPeerable.Finalized() |
La |
IJavaPeerable.JniManagedPeerState |
La |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
La |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
La |
IJavaPeerable.SetPeerReference(JniObjectReference) |
La |
Métodos de extensión
JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
JavaCast<TResult>(IJavaObject) |
La |
GetJniTypeName(IJavaPeerable) |
La |