在C#代码中查找未捕获的异常

Kor*_*xio 5 .net c# code-analysis static-analysis exception

我想知道是否有一个工具可以使用静态代码分析在C#中找到未捕获的异常?基本上我想选择一个方法A()并想要一个由methodA()抛出的所有异常的列表以及methodA()调用的所有方法.我尝试过ReSharper + Agent JohnsonAtomineerUtils,都失败了这个简单的任务.

这是我的示例代码:

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

该工具应该能够告诉我(以任何形式)方法Area()将抛出ArgumentOutOfRangeExceptionInvalidOperationException.

Mic*_*tum 7

我在IDE中使用过一次R#addin - Exceptional.糟糕的想法,结果是它抱怨每一个字符串.格式调用和可能确实抛出的类似常见情况,但这不会导致问题.

如果值得,自行决定:https://github.com/CSharpAnalyzers/ExceptionalReSharper