我想知道是否有一种工具可以在C#中使用静态代码分析来查找未捕获的异常?基本上我想选择一个methodA()并且想要methodA()所抛出的所有异常以及methodA()所调用的所有方法的列表。我试过ReSharper + Agent Johnson和AtomineerUtils,都没有通过这个简单的任务。在C#代码中查找未捕获的异常
这里是我的示例代码:
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();
}
}
该工具应该能够告诉我(任何形式),该方法面积()将抛出ArgumentOutOfRangeException
或InvalidOperationException.
我看到你想要什么,在哪里,你试图去,但尽管如此,考虑到在很多情况下,它是确定从代码抛出异常,但事实是,每次你从实际的消费类中使用这些方法时,你都应该赶上那里,这可能是百分之百的罚款区域抛出的东西,并不需要在那里捕捉,但谁叫Rectangle.Area应该... –
@Davide Piras:我明白你的观点并且同意你的看法,但是考虑到你正在使用一个带有非常糟糕文档的大型第三方库 - 发现未被捕获的(或者让我们称它们为“可能抛出的”)异常会真正简化调试和开发。 – Korexio