3

VS2008 IDE for c#で、メソッド呼び出しから、またはtry-catchブロック全体から発生する可能性のあるすべての可能な例外タイプを確認する方法はありますか?

インテリセンスまたはオブジェクトブラウザは、このメソッドがこれらのタイプの例外をスローできることを教えてくれますが、毎回オブジェクトブラウザを使用する以外の方法はありますか?コーディングするときにもっとアクセスしやすいものはありますか?さらに、インテリセンスやオブジェクトブラウザは、XMLコードのコメントを読み取る以外のことは何もしていないと思います。

クラスのソースをスキャンして、スローされる可能性のあるすべての例外タイプを見つけることは可能ではありません。(メソッド入力に基づくパスを忘れて、例外タイプのコードをスキャンするだけです)

私が間違っている?このアイデアを拡張すると、「try」または「catch」キーワードにカーソルを合わせて、スローされる可能性のあるすべてのタイプの例外をツールチップに表示できるようになります。

私の質問は要約すると、このようなVS2008アドオンは存在しますか?VS2010はおそらくこれを行いますか?そうでない場合は、クラスコードをスキャンしてスローされた例外タイプを探し、私が説明した方法で実装できますか。例外が発生するため、メソッド呼び出しごとにコードのすべてのビットをスキャンする必要があります。これは実用的ではないと思いますが、最初にインデックスを作成して速度を上げることができると思います。

(それはかっこいい小さなプロジェクトかもしれません....)

4

1 に答える 1

4

あなたが探しているのはRed-GateExceptionHunterです。

ただし、Exception Hunterは静的分析ツールであり、存在するすべてのコードについてすべてを通知できる方法はありません。

たとえば、今日のIoCコンテナの普及を考えると、次の行でスローできると予想される例外の種類は次のとおりです。

var service = IoC.Resolve<ILogger>();
service.Log("Here");

解決されるロガーの実際のタイプに完全に依存しますが、ファイルに記録されますか?データベースに?ネットワークサービスに?イベントログに?

于 2010-05-20T19:09:38.777 に答える