静的コード解析を使用して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();
}
}
ツールは、私がかつてのR#アドインを使用ArgumentOutOfRangeException
かInvalidOperationException.
をし、あなたが行くが、それでも、多くの場合、コードから例外をスローしても大丈夫であることを考慮しようとしているところ、事実であることですあなたの実際の消費クラスからこれらのメソッドを使用するたびに、そこにキャッチする必要があります。Areaが何かをスローし、そこにキャッチする必要はありませんが、Rectangle.Areaを呼び出すのはおそらく100%です... –
@Davide Piras:本当に悪いドキュメンテーションを持つ大きなサードパーティ製のライブラリを使用していると考えている - キャッチされていない(または「おそらく投げられる」)例外を発見すると、デバッグと開発が非常に簡単になります。 – Korexio