Mi chiedo se esiste uno strumento per trovare le eccezioni non rilevate in C# utilizzando l'analisi del codice statico? Fondamentalmente voglio selezionare un metodoA() e voglio un elenco di tutte le eccezioni generate da methodA() e tutti i metodi chiamati da methodA(). Ho provato ReSharper + Agent Johnson e AtomineerUtils, entrambi falliscono questa semplice operazione.Trova eccezioni non rilevate nel codice C#
Ecco il mio codice di esempio:
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();
}
}
Lo strumento dovrebbe essere in grado di dirmi (in qualsiasi forma) che il metodo area() getterà ArgumentOutOfRangeException
o InvalidOperationException.
vedo ciò che si vuole e dove si sta tentando di andare, ma ancora, si consideri che in molti casi è ok per generare eccezioni dal codice, il fatto è che ogni volta che usi questi metodi dalle tue effettive classi di consumo dovresti prenderli lì, probabilmente è 100% bene che Area getta qualcosa e non ci sarebbe bisogno di una presa lì, ma chi chiama Rectangle.Area dovrebbe ... –
@Davide Piras: Capisco il tuo punto di vista e sei d'accordo con te, ma considera che stai usando una grande libreria di terze parti con una documentazione davvero scadente - trovare eccezioni (o chiamarle "possibilmente gettate") potrebbe facilitare il debugging e lo sviluppo. – Korexio