C# kodunda statik kod çözümlemesi kullanılarak yakalanmamış özel durumlar bulmak için bir araç olup olmadığını merak ediyorum? Temel olarak, bir methodA() seçmek ve methodA() tarafından atılan tüm istisnaların ve methodA() tarafından çağrılan tüm yöntemlerin bir listesini istiyorum. ReSharper + Agent Johnson ve AtomineerUtils'u denedim, her ikisi de bu basit görevi başarısız oldu.C# kodunda yakalanmamış özel durumları bulma
public class Rectangle
{
public int Width { get; set; }
public int Height { get; set; }
public int Area()
{
CheckProperties();
long x = Width * Height;
if (x > 10)
throw new ArgumentOutOfRangeException();
return (int) x;
}
private void CheckProperties()
{
if (Width < 0 || Height < 0)
throw new InvalidOperationException();
}
}
aracı keresinde bir R # eklenti kullanılan ArgumentOutOfRangeException
veya InvalidOperationException.
, aslında şudur: buna değer eğer
kendiniz karar verin Bu yöntemleri her zaman gerçek tüketen sınıflarınızdan kullanmanız gerekir, muhtemelen bu alanın% 100 iyi olduğunu ve Alan'ın bir şey atmasını gerektirmeyeceğini ve Rectangle.Area'yı çağırması gerektiğini söyler. –
@Davide Piras: Anladım Bu noktada, sizinle aynı fikirdeyseniz, ancak gerçekten kötü bir belgelere sahip olan büyük bir üçüncü taraf kütüphanesi kullandığınızı düşünün. Bu da istisnai bir durumdur (ya da “atılmış” diyebiliriz) istisnalar hata ayıklama ve geliştirmeyi gerçekten kolaylaştırır. – Korexio