Bagikan melalui


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 8 Sebagai saran

Penyebab

Pengecualian dilemparkan dari finallyklausa , 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 finallyklausul , 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.

CA1065: Jangan munculkan pengecualian di lokasi yang tidak terduga

Baca juga