Me pregunto si hay una herramienta para encontrar excepciones no detectadas en C# mediante el uso de análisis de código estático? Básicamente, quiero seleccionar un método A() y quiero una lista de todas las excepciones lanzadas por methodA() y todos los métodos llamados por methodA(). Intenté ReSharper + Agent Johnson y AtomineerUtils, ambos fallan esta tarea simple.Buscar excepciones no detectadas en el código de C#
Aquí está mi código de ejemplo:
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();
}
}
La herramienta debe ser capaz de decirme (en cualquier forma) que el método de Área() lanzará ArgumentOutOfRangeException
o InvalidOperationException.
veo lo que quiere y donde se está tratando de ir pero aún así, tenemos en cuenta que en muchos casos está bien para lanzar excepciones a partir del código, el hecho es que cada vez que uses esos métodos de tus clases consumidoras reales, deberías atraparlos allí, probablemente sea 100% bueno que Area arroje algo y no necesite atraparlos ahí, sino que llame a Rectangle.Area debería ... –
@Davide Piras: Entiendo su punto y de acuerdo con usted, pero considere que está usando una gran biblioteca de terceros con documentación realmente mala: encontrar excepciones no detectadas (o llamémoslas "posiblemente lanzadas") realmente facilitaría la depuración y el desarrollo. – Korexio