Ekinlikler
17 Mar 23 - 21 Mar 23
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Özellik | Değer |
---|---|
Kural Kimliği | CA2201 |
Başlık | Ayrılmış özel durum türlerini harekete geçirmeyin |
Kategori | Kullanım |
Hataya neden olan veya bozulmayan düzeltme | Yeni |
.NET 9'da varsayılan olarak etkin | Hayır |
Yöntem, çok genel veya çalışma zamanı tarafından ayrılmış bir özel durum türü oluşturur.
Aşağıdaki özel durum türleri kullanıcıya yeterli bilgi sağlayamayacak kadar geneldir:
Aşağıdaki özel durum türleri ayrılmıştır ve yalnızca ortak dil çalışma zamanı tarafından oluşturulmalıdır:
Genel özel durumlar oluşturma
Bir kitaplıkta veya çerçevede veya Exceptiongibi SystemException genel bir özel durum türü oluşturursanız, tüketicileri nasıl işleneceğini bilmedikleri bilinmeyen özel durumlar da dahil olmak üzere tüm özel durumları yakalamaya zorlar.
Bunun yerine, çerçevede zaten var olan daha türetilmiş bir tür oluşturun veya türünden Exceptiontüretilen kendi türünüzü oluşturun.
Belirli özel durumlar oluşturma
Aşağıdaki tabloda, bir özelliğin erişimcisindeki set
değer parametresi dahil olmak üzere çeşitli geçersiz bağımsız değişken türleri için hangi özel durumun atıldığı gösterilmektedir.
Geçersiz bağımsız değişken | Özel durum |
---|---|
null referans |
ArgumentNullException |
İzin verilen değer aralığının dışında (koleksiyon veya liste dizini gibi) | ArgumentOutOfRangeException |
Geçersiz enum değer |
InvalidEnumArgumentException |
Bir yöntemin parametre belirtimlerine uymayan bir biçim içerir (örneğin, için ToString(String) biçim dizesi) |
FormatException |
Aksi takdirde geçersiz | ArgumentException |
Aşağıdaki tabloda, çeşitli geçersiz işlem türleri için hangi özel durumun atıldığı gösterilmektedir.
Geçersiz işlem | Özel durum |
---|---|
İşlem, bir nesnenin geçerli durumu için geçersiz. | InvalidOperationException |
İşlem, atılmış bir nesne üzerinde gerçekleştirilir. | ObjectDisposedException |
İşlem desteklenmez (örneğin, okuma için açılan bir akışta geçersiz kılınan Stream.Write bir akışta). |
NotSupportedException |
Dönüştürme bir taşmayla sonuçlanır (açık bir atama işleci aşırı yüklemesi gibi). | OverflowException |
Diğer tüm durumlarda, türetilen Exception ve bunu oluşturan kendi türünüzü oluşturmayı göz önünde bulundurun.
Bu kuralın ihlalini düzeltmek için, özel durumun türünü ayrılmış türlerden biri olmayan belirli bir türle değiştirin.
Bu kuraldan uyarıyı bastırmayın.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin:
Ekinlikler
17 Mar 23 - 21 Mar 23
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolun