大部分のアプリケーションには、最外部にtry..catch
という1つの大きなアプリケーションが割り当てられています。また、このアプリケーションは例外を常にとし、文書化されていません。例外をスローしたユーザー関数のトラッキング
どのようなユーザーメソッドが呼び出されているか、例外がスローされるか、例外の数がわかるような実装可能なパターンはありますか?
私は、必要な情報を得るためにリフレクション付き辞書を使用することを考えていますが、これが機能するかどうかはわかりません。どう思いますか?
大部分のアプリケーションには、最外部にtry..catch
という1つの大きなアプリケーションが割り当てられています。また、このアプリケーションは例外を常にとし、文書化されていません。例外をスローしたユーザー関数のトラッキング
どのようなユーザーメソッドが呼び出されているか、例外がスローされるか、例外の数がわかるような実装可能なパターンはありますか?
私は、必要な情報を得るためにリフレクション付き辞書を使用することを考えていますが、これが機能するかどうかはわかりません。どう思いますか?
Exception.StackTraceは、必要な情報を提供します(さらにデバッグビルドで)。
Visual Studioデバッガで実行できる場合は、「ブレークオン例外」をオンにすると、「スロー」サイトのデバッガにドロップされます。
Exception.ToString()
は、スタックトレースと必要なすべての情報を提供します。これを使用して例外を記録すると、ソースを見つけることができます。
これは実際にアプリケーション内に他のブロックが存在しない限り長すぎます。