Compartilhar via


Throwable.AddSuppressed(Throwable) Método

Definição

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 tryinstruçã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 tryinstruçã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. tryNa 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.

Aplica-se a