2012-08-02 42 views
5

今天我遇到了一個應用程序開始拋出多個異常(多個消息框)的錯誤。該應用程序使用DispatcherUnhandledException。轉換器應該拋出任何異常嗎?

雖然調查我發現轉換器用於格式化dataGrid中的日期和時間,如果轉換器的參數爲NULL,則會引發FormatException。

是否建議在任何情況下從Converter中拋出異常?

回答

3

According to MSDN,無:

數據綁定引擎不捕獲由一個 用戶提供的轉換器引發的異常。由轉換 方法拋出的任何異常或由 Convert方法調用的方法拋出的任何未捕獲的異常都視爲運行時錯誤。通過返回DependencyProperty.UnsetValue處理 預期問題。

話雖這麼說,我個人使用NotSupportedException時要麼不支持ConvertConvertBack方法。