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 | İstisna bloklarında hata oluşumuna neden olmayın |
| Kategori | Kullanım |
| Düzeltme bozucu ya da bozmayan olabilir | Kırılmayan, Bozulabilir |
| .NET 10'da varsayılan olarak etkin | Öneri olarak |
| Geçerli diller | C# ve Visual Basic |
Neden
Bir özel durum finally, filtre veya hata yan tümcesinden fırlatılır.
Kural açıklaması
İstisna durum cümleciğinde bir istisna oluştuğunda, hata ayıklamak büyük ölçüde zorlaşır.
Özel bir durum finally veya bir hata yan tümcesinde meydana geldiğinde, varsa yeni özel durum mevcut 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 finally, filtre veya hata yan tümcesinden açıkça istisna 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 istisna yan tümcesinde ortaya çıkan bir özel durumun yürütülen koda bir avantaj sağladığı senaryo yoktur.
İlgili kurallar
CA1065: Beklenmedik konumlarda özel durumlar tetiklemeyin