7

Java では、メソッドによってスローされるすべての例外をリストするようにプログラマーに強制しているため、コードのユーザーがスローされる可能性のあるすべての例外をリストする簡単な方法を作成していることを知っています。

一方、.NET にはそのような機能はなく、残っているのは API ドキュメントまたは XML ドキュメントだけで、例外がリストされていることもあります。

特定の呼び出しがスローする可能性のある例外を示す VS 用のアドオンはありますか? リフレクションの力を考えると、呼び出しを調べて、呼び出しを介して可能な実行のすべての分岐を調べ、スローされている .NET 例外をチェックすることは可能ではないでしょうか?

4

2 に答える 2

7

私が知っている唯一のツールは、red-gate software の (商用) Exception Hunter です

ただし、最初に考えるほど決定論的ではありません。使用される追加アセンブリのバージョンによっては、ビルド時に予想される以外の例外をスローする新しいバージョンが使用されている場合、ビルド後にスローされる例外が異なる場合があります。

Java では、メソッド シグネチャで宣言する必要のない「特別な」RuntimeException があります (それから派生するすべての例外を含みます)。言語設計者が C# でチェック済み例外を実装しないことを選択した正当な理由があります (それらが利点を上回るかどうかは議論の余地があります)。一部の Java 開発者は、実行時例外に例外をラップするだけであったり、「原因」例外を使用するのを忘れたりして、情報が失われることがあります。

Anders Hejlsbergとのインタビューで、チェック例外と、C# にチェック例外がない理由についてのいくつかの理由が説明されています - Adrianbanks のリンクに感謝します。

于 2010-04-06T12:55:55.907 に答える
1

これを行う唯一のものはException Hunterですが、これは購入する必要がある商用ツールです。

于 2010-04-06T12:55:51.240 に答える