Throwable.AddSuppressed(Throwable) Método
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í.
Anexa la excepción especificada a las excepciones que se han suprimido para entregar esta excepción.
[Android.Runtime.Register("addSuppressed", "(Ljava/lang/Throwable;)V", "")]
public void AddSuppressed (Java.Lang.Throwable exception);
[<Android.Runtime.Register("addSuppressed", "(Ljava/lang/Throwable;)V", "")>]
member this.AddSuppressed : Java.Lang.Throwable -> unit
Parámetros
- exception
- Throwable
excepción que se va a agregar a la lista de excepciones suprimidas
- Atributos
Excepciones
si throwable == this
.
si throwable == null
.
Comentarios
Anexa la excepción especificada a las excepciones que se han suprimido para entregar esta excepción. Este método es seguro para subprocesos y normalmente lo llama (automáticamente e implícitamente) por la try
instrucción -with-resources.
El comportamiento de supresión se habilita <a>menos< que se deshabilite/em> #Throwable(String, Throwable, boolean, boolean) a través de un constructor. Cuando la supresión está deshabilitada, este método no hace nada más que validar su argumento.
Tenga en cuenta que cuando una excepción #initCause(Throwable) produce otra excepción, la primera excepción suele detectarse y, a continuación, se produce la segunda excepción en respuesta. En otras palabras, hay una conexión causal entre las dos excepciones.
En cambio, hay situaciones en las que se pueden producir dos excepciones independientes en bloques de código del mismo nivel, en particular en el try
bloque de una try
instrucción -with-resources y el bloque generado por finally
el compilador que cierra el recurso.
En estas situaciones, solo se puede propagar una de las excepciones producidas. En la try
instrucción -with-resources, cuando hay dos excepciones de este tipo, la excepción que se origina en el try
bloque se propaga y la excepción del finally
bloque se agrega a la lista de excepciones suprimidas por la excepción del try
bloque. Como excepción desenreda la pila, puede acumular varias excepciones suprimidas.
Es posible que una excepción haya suprimido excepciones mientras también se debe a otra excepción. Si una excepción tiene una causa semánticamente conocida en el momento de su creación, a diferencia de si una excepción suprimirá otras excepciones que normalmente solo se determinan después de iniciar una excepción.
Tenga en cuenta que el código escrito por el programador también puede aprovechar las ventajas de llamar a este método en situaciones en las que hay varias excepciones del mismo nivel y solo se puede propagar una.
Agregado en la versión 1.7.
Documentación de Java para java.lang.Throwable.addSuppressed(java.lang.Throwable)
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.