Zastanawiam się, czy istnieje narzędzie do wyszukiwania niezatłoczonych wyjątków w języku C# przy użyciu analizy statycznej kodu? Zasadniczo chcę wybrać metodęA() i chcę listę wszystkich wyjątków zgłaszanych przez methodA() i wszystkie metody wywoływane przez methodA(). Próbowałem ReSharper + Agent Johnson i AtomineerUtils, oba zawodzą w tym prostym zadaniu.Znajdź niezatłoczone wyjątki w kodzie C#
Oto mój przykładowy kod:
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();
}
}
Narzędzie powinno być w stanie powiedzieć mi (w dowolnej formie) metody tej dziedzinie() rzuci ArgumentOutOfRangeException
lub InvalidOperationException.
widzę, co chcesz i gdzie staramy się iść, ale wciąż uważa, że w wielu przypadkach jest to ok rzucać wyjątki od kodu, faktem jest, że za każdym razem, gdy użyjesz tych metod ze swoich faktycznych klas konsumpcyjnych, powinieneś złapać tam, to prawdopodobnie w 100% dobrze, że obszar coś rzuca i nie potrzebuje tam haczyka, ale kto dzwoni do prostokąta.Area powinna ... –
@Davide Piras: Rozumiem Zgadzam się z Tobą, ale zastanów się, czy używasz dużej biblioteki firm trzecich z naprawdę złą dokumentacją - znalezienie wyjątków (lub nazwijmy je "prawdopodobnie wyrzuconymi") naprawdę ułatwi debugowanie i rozwój. – Korexio