查找c#代码中未捕获的异常
本文关键字:异常 代码 查找 | 更新日期: 2023-09-27 18:11:14
我想知道是否有一种工具可以使用静态代码分析在c#中找到未捕获的异常?基本上,我想选择一个methodA(),并想要一个由methodA()抛出的所有异常和由methodA()调用的所有方法的列表。我尝试了ReSharper + Agent Johnson和AtomineerUtils,它们都失败了。
下面是我的示例代码: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();
}
}
工具应该能够告诉我(以任何形式)方法Area()将抛出ArgumentOutOfRangeException
或InvalidOperationException.
我曾经在IDE中使用过一个r#插件-例外。坏主意,它会抱怨每一个字符串。格式调用和类似的常见情况可能确实抛出,但这不会引起问题。
自己决定是否值得:https://github.com/CSharpAnalyzers/ExceptionalReSharper