Throw from finally (ARCH404)
Anahtar dotnet.exception.throw-from-finally · Önem error · Kategori exception
finally bloklarından istisna fırlatmak, try veya catch bloğundaki orijinal istisnayı maskeleyerek asıl hata nedenini gizler.
Hatalı
Bölüm başlığı “Hatalı”try{ _repository.Save(order);}finally{ if (!_connection.IsClosed) throw new InvalidOperationException("Connection still open");}try{ _repository.Save(order);}finally{ if (!_connection.IsClosed) _logger.LogWarning("Connection still open");}Düzeltme
Bölüm başlığı “Düzeltme”finally içinde fırlatmak yerine durumu loglayın veya temizleme mantığını yeniden yapılandırın. Gerekirse kural proje/workspace bazında except/ignore ile bastırılabilir.