Bagikan melalui


Throwable.AddSuppressed(Throwable) Metode

Definisi

Menambahkan pengecualian yang ditentukan ke pengecualian yang ditekan untuk memberikan pengecualian ini.

[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

Parameter

exception
Throwable

pengecualian yang akan ditambahkan ke daftar pengecualian yang ditekan

Atribut

Pengecualian

jika throwable == this.

jika throwable == null.

Keterangan

Menambahkan pengecualian yang ditentukan ke pengecualian yang ditekan untuk memberikan pengecualian ini. Metode ini aman untuk alur dan biasanya dipanggil (secara otomatis dan implisit) oleh trypernyataan -with-resources.

Perilaku supresi diaktifkan <em>kecuali</em> dinonaktifkan #Throwable(String, Throwable, boolean, boolean) melalui konstruktor. Ketika supresi dinonaktifkan, metode ini tidak lain untuk memvalidasi argumennya.

Perhatikan bahwa ketika satu pengecualian #initCause(Dapat Dilemparkan) menyebabkan pengecualian lain, pengecualian pertama biasanya ditangkap dan kemudian pengecualian kedua dilemparkan sebagai respons. Dengan kata lain, ada koneksi kausal antara dua pengecualian.

Sebaliknya, ada situasi di mana dua pengecualian independen dapat dilemparkan dalam blok kode saudara, khususnya dalam try blok trypernyataan -with-resources dan blok yang dihasilkan finally kompilator yang menutup sumber daya.

Dalam situasi ini, hanya salah satu pengecualian yang dilemparkan yang dapat disebarluaskan. tryDalam pernyataan -with-resources, ketika ada dua pengecualian tersebut, pengecualian yang berasal dari try blok disebarkan dan pengecualian dari finally blok ditambahkan ke daftar pengecualian yang ditekan oleh pengecualian dari try blok. Saat pengecualian melepas tumpukan, pengecualian dapat mengakumulasi beberapa pengecualian yang ditekan.

Pengecualian mungkin telah menekan pengecualian sementara juga disebabkan oleh pengecualian lain. Apakah pengecualian memiliki penyebab secara semantik diketahui pada saat pembuatannya, tidak seperti apakah pengecualian akan menekan pengecualian lain atau tidak yang biasanya hanya ditentukan setelah pengecualian dilemparkan.

Perhatikan bahwa kode tertulis pemrogram juga dapat memanfaatkan pemanggilan metode ini dalam situasi di mana ada beberapa pengecualian saudara dan hanya satu yang dapat disebarluaskan.

Ditambahkan dalam 1.7.

Dokumentasi Java untuk java.lang.Throwable.addSuppressed(java.lang.Throwable).

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Berlaku untuk