Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
| Özellik | Değer |
|---|---|
| Kural Kimliği | CA2219 |
| Başlık | Özel durum yan tümceleri içinde özel durum harekete geçirmeyin |
| Kategori | Kullanım |
| Hataya neden olan veya bozulmayan düzeltme | Kırılmayan, Hataya Neden Olan |
| .NET 10'da varsayılan olarak etkin | Öneri olarak |
Neden
, filtresi veya hata yan tümcesinden bir finallyözel durum oluşturulur.
Kural açıklaması
Özel durum yan tümcesinde bir özel durum oluştuğunda hata ayıklama zorluğunu büyük ölçüde artırır.
Veya hata yan tümcesinde bir özel durum oluştuğunda finally , yeni özel durum varsa etkin özel durumu gizler. Bu, özgün hatayı algılamayı ve hata ayıklamayı zorlaştırır.
Bir filtre yan tümcesinde özel durum oluştuğunda, çalışma zamanı özel durumu sessizce yakalar ve filtrenin false olarak değerlendirilmesine neden olur. False olarak değerlendirilen filtre ile filtreden atılan özel durum arasındaki farkı anlamanın bir yolu yoktur. Bu, filtrenin mantığındaki hataları algılamayı ve hatalarını ayıklamayı zorlaştırır.
İhlalleri düzeltme
Bu kuralın ihlalini düzeltmek için, bir , filtresi veya hata yan tümcesinden açıkça özel finallydurum oluşturmayın.
Example
try
{
// ...
}
finally
{
// This code violates the rule.
throw new Exception();
}
Uyarıların ne zaman bastırılması gerekiyor?
Bu kural için bir uyarıyı gizlemeyin. Bir özel durum yan tümcesinde tetiklenen bir özel durumun yürütülen koda bir avantaj sağladığı senaryo yoktur.
İlgili kurallar
CA1065: Beklenmedik konumlarda özel durumlar tetiklemeyin