今天我遇到了一个错误,应用程序开始抛出多个异常(多个消息框)。应用程序使用 DispatcherUnhandledException。
在调查时,我发现如果转换器的参数为 NULL,则用于格式化 dataGrid 中的日期和时间的转换器会抛出 FormatException。
在任何情况下都建议从转换器抛出异常吗?
根据 MSDN,没有:
数据绑定引擎不会捕获用户提供的转换器引发的异常。Convert 方法引发的任何异常,或 Convert 方法调用的方法引发的任何未捕获的异常都被视为运行时错误。通过返回 DependencyProperty.UnsetValue 来处理预期的问题。
话虽如此,我个人NotSupportedException
在Convert
orConvertBack
方法不受支持时使用。