6

今日、アプリケーションが複数の例外 (複数のメッセージ ボックス) をスローし始めるバグに遭遇しました。アプリケーションは DispatcherUnhandledException を使用します。

調査中に、コンバーターへのパラメーターが NULL の場合、dataGrid で日付と時刻をフォーマットするために使用されるコンバーターが FormatException をスローすることがわかりました。

いずれにせよ、コンバーターから例外をスローすることをお勧めしますか?

4

1 に答える 1

4

MSDN によると、いいえ:

データ バインディング エンジンは、ユーザー指定のコンバーターによってスローされた例外をキャッチしません。Convert メソッドによってスローされる例外、または Convert メソッドが呼び出すメソッドによってスローされるキャッチされない例外は、実行時エラーとして扱われます。DependencyProperty.UnsetValue を返すことで、予想される問題を処理します。

そうは言っても、個人的にはまたはメソッドがサポートされていないNotSupportedException場合に を使用します。ConvertConvertBack

于 2012-08-02T16:58:05.363 に答える