Throwable.AddSuppressed(Throwable) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Acrescenta a exceção especificada às exceções que foram suprimidas para entregar essa exceção.
[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
a exceção a ser adicionada à lista de exceções suprimidas
- Atributos
Exceções
se throwable == this
.
se throwable == null
.
Comentários
Acrescenta a exceção especificada às exceções que foram suprimidas para entregar essa exceção. Esse método é thread-safe e normalmente chamado (automática e implicitamente) pela try
instrução -with-resources.
O comportamento de supressão é habilitado <em>unless</em> disabled #Throwable(String, Throwable, boolean, boolean) através de um construtor. Quando a supressão é desabilitada, esse método não faz nada além de validar seu argumento.
Observe que quando uma exceção #initCause(Throwable) causa outra exceção, a primeira exceção geralmente é capturada e, em seguida, a segunda exceção é lançada em resposta. Em outras palavras, há um nexo causal entre as duas exceções.
Em contraste, há situações em que duas exceções independentes podem ser lançadas em blocos de código irmãos, em particular no try
bloco de uma try
instrução -with-resources e no bloco gerado finally
pelo compilador que fecha o recurso.
Nessas situações, apenas uma das exceções lançadas pode ser propagada. try
Na instrução -with-resources, quando há duas dessas exceções, a exceção originada do try
bloco é propagada e a exceção do finally
bloco é adicionada à lista de exceções suprimidas pela exceção do try
bloco. Como uma exceção desenrola a pilha, ela pode acumular várias exceções suprimidas.
Uma exceção pode ter suprimido exceções enquanto também é causada por outra exceção. Se uma exceção tem ou não uma causa é semanticamente conhecido no momento de sua criação, ao contrário de se uma exceção suprimirá ou não outras exceções que normalmente só são determinadas depois que uma exceção é lançada.
Observe que o código escrito pelo programador também é capaz de tirar proveito de chamar esse método em situações em que há várias exceções irmãs e apenas uma pode ser propagada.
Adicionado em 1.7.
Documentação Java para java.lang.Throwable.addSuppressed(java.lang.Throwable)
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.