今日、アプリケーションが複数の例外 (複数のメッセージ ボックス) をスローし始めるバグに遭遇しました。アプリケーションは DispatcherUnhandledException を使用します。
調査中に、コンバーターへのパラメーターが NULL の場合、dataGrid で日付と時刻をフォーマットするために使用されるコンバーターが FormatException をスローすることがわかりました。
いずれにせよ、コンバーターから例外をスローすることをお勧めしますか?
MSDN によると、いいえ:
データ バインディング エンジンは、ユーザー指定のコンバーターによってスローされた例外をキャッチしません。Convert メソッドによってスローされる例外、または Convert メソッドが呼び出すメソッドによってスローされるキャッチされない例外は、実行時エラーとして扱われます。DependencyProperty.UnsetValue を返すことで、予想される問題を処理します。
そうは言っても、個人的にはまたはメソッドがサポートされていないNotSupportedException
場合に を使用します。Convert
ConvertBack