Поделиться через


Throwable.AddSuppressed(Throwable) Метод

Определение

Добавляет указанное исключение к исключениям, которые были отключены для доставки этого исключения.

[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

Параметры

exception
Throwable

Исключение, добавляемое в список подавляемых исключений

Атрибуты

Исключения

Значение if throwable == this.

Значение if throwable == null.

Комментарии

Добавляет указанное исключение к исключениям, которые были отключены для доставки этого исключения. Этот метод является потокобезопасной и обычно вызывается (автоматически и неявно) оператором try-with-resources.

Поведение подавления включено <,>если< только> не отключены #Throwable(String, Throwable, Boolean, boolean) через конструктор. Если подавление отключено, этот метод ничего не делает, кроме проверки его аргумента.

Обратите внимание, что если одно исключение #initCause(Throwable) вызывает другое исключение, первое исключение обычно перехватывается, а затем в ответ возникает второе исключение. Иными словами, между двумя исключениями существует причинно-причинная связь.

В отличие от этого, существуют ситуации, когда два независимых исключения могут быть созданы в одноуровневых блоках кода, в частности в try блоке tryинструкции -with-resources и блоке, созданном finally компилятором, который закрывает ресурс.

В таких ситуациях может распространяться только одно из создаваемых исключений. tryВ инструкции -with-resources при наличии двух таких исключений исключение, полученное из try блока, распространяется, а исключение из finally блока добавляется в список исключений, подавляемых исключением из try блока. Как исключение отключает стек, он может накапливать несколько подавляемых исключений.

Исключение может подавлять исключения, а также вызываться другим исключением. Независимо от того, имеет ли исключение причину семантически известно во время его создания, в отличие от того, будет ли исключение подавлять другие исключения, которые обычно определяются только после создания исключения.

Обратите внимание, что программист также может воспользоваться преимуществами вызова этого метода в ситуациях, когда существует несколько одноуровневых исключений и только один может распространяться.

Добавлено в версии 1.7.

Документация по Java для java.lang.Throwable.addSuppressed(java.lang.Throwable).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к