Acara
17 Mar, 23 - 21 Mar, 23
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Properti | Nilai |
---|---|
ID Aturan | CA2201 |
Judul | Jangan menaikkan jenis pengecualian yang dipesan |
Golongan | Penggunaan |
Perbaikan bersifat disruptif atau non-disruptif | Merusak |
Diaktifkan secara default di .NET 9 | No |
Metode meningkatkan jenis pengecualian yang terlalu umum atau yang dicadangkan oleh runtime.
Jenis pengecualian berikut terlalu umum untuk memberikan informasi yang memadai kepada pengguna:
Jenis pengecualian berikut dicadangkan dan harus dilemparkan hanya oleh runtime bahasa umum:
Jangan melemparkan pengecualian umum
Jika Anda melemparkan jenis pengecualian umum, seperti Exception atau SystemException, dalam pustaka atau kerangka kerja, ini memaksa konsumen untuk menangkap semua pengecualian, termasuk pengecualian yang tidak diketahui yang tidak mereka ketahui cara menanganinya.
Sebagai gantinya, lemparkan jenis yang lebih turunan yang sudah ada dalam kerangka kerja, atau buat jenis Anda sendiri yang berasal dari Exception.
Melemparkan pengecualian tertentu
Tabel berikut menunjukkan pengecualian mana yang akan dilemparkan untuk berbagai jenis argumen yang tidak valid, termasuk parameter nilai di set
pengaktor properti.
Argumen tidak valid | Pengecualian |
---|---|
null referensi |
ArgumentNullException |
Di luar rentang nilai yang diizinkan (seperti indeks untuk koleksi atau daftar) | ArgumentOutOfRangeException |
Nilai tidak valid enum |
InvalidEnumArgumentException |
Berisi format yang tidak memenuhi spesifikasi parameter metode (seperti string format untuk ToString(String) ) |
FormatException |
Jika tidak, tidak valid | ArgumentException |
Tabel berikut ini memperlihatkan pengecualian mana yang akan dilemparkan untuk berbagai jenis operasi yang tidak valid.
Operasi tidak valid | Pengecualian |
---|---|
Operasi tidak valid untuk status objek saat ini. | InvalidOperationException |
Operasi dilakukan pada objek yang telah dibuang. | ObjectDisposedException |
Operasi tidak didukung (seperti ditimpa Stream.Write dalam aliran yang dibuka untuk dibaca). |
NotSupportedException |
Konversi akan mengakibatkan luapan (seperti dalam kelebihan beban operator cast eksplisit). | OverflowException |
Untuk semua situasi lainnya, pertimbangkan untuk membuat jenis Anda sendiri yang berasal dari Exception dan melemparkan itu.
Untuk memperbaiki pelanggaran aturan ini, ubah jenis pengecualian yang dilemparkan ke jenis tertentu yang bukan salah satu jenis yang dipesan.
Jangan menyembunyikan peringatan dari aturan ini.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Acara
17 Mar, 23 - 21 Mar, 23
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarang