CA2219: Jangan munculkan pengecualian dalam klausul pengecualian
Properti | Nilai |
---|---|
ID Aturan | CA2219 |
Judul | Jangan memunculkan pengecualian dalam klausul pengecualian |
Golongan | Penggunaan |
Perbaikan bersifat disruptif atau non-disruptif | Tidak melanggar, Melanggar |
Diaktifkan secara default di .NET 9 | Sebagai saran |
Penyebab
Pengecualian dilemparkan dari finally
klausa , filter, atau kesalahan.
Deskripsi aturan
Ketika pengecualian dimunculkan dalam klausul pengecualian, itu sangat meningkatkan kesulitan debugging.
Ketika pengecualian dimunculkan dalam finally
klausul kesalahan atau , pengecualian baru menyembunyikan pengecualian aktif, jika ada. Ini membuat kesalahan asli sulit dideteksi dan di-debug.
Ketika pengecualian dinaikkan dalam klausa filter, runtime secara diam-diam menangkap pengecualian, dan menyebabkan filter dievaluasi ke false. Tidak ada cara untuk membedakan antara filter yang mengevaluasi ke false dan pengecualian yang dilemparkan dari filter. Ini membuatnya sulit untuk mendeteksi dan men-debug kesalahan dalam logika filter.
Cara memperbaiki pelanggaran
Untuk memperbaiki pelanggaran aturan ini, jangan secara eksplisit menaikkan pengecualian dari finally
klausul , filter, atau kesalahan.
Kapan harus menekan peringatan
Jangan menekan peringatan untuk aturan ini. Tidak ada skenario di mana pengecualian yang dimunculkan dalam klausul pengecualian memberikan manfaat bagi kode yang dijalankan.
Aturan terkait
CA1065: Jangan munculkan pengecualian di lokasi yang tidak terduga