从System.FormatException中获取有用的数据

时间:2017-06-28 17:55:20

标签: c# exception

当像" 2017-06-27"在包含许多其他日期和stings的大型XML文档中,要反序列化,抛出System.FormatException并显示消息" String未被识别为有效的DateTime。"对于Boolean.Parse,Guid.Parse等,会抛出类似的异常(如FormatException docs所示),这个问题适用于所有这些异常。

如何确定导致FormatException的字符串?

我觉得这应该是FormatException类中的一个参数,但如果有任何方法可以实现它,我想知道。我正在深入调试微软的反序列化代码,并且当它不会进一步进入时(而不是这个大锤的方法会很优雅,即使它已经有效)也会遇到困难。

注意:这不是case for DateTime.ParseExact,因为我不知道字符串的格式,也不是解析日期的问题,但这是一个关于异常本身以及如何从中获取更多有用的信息。

1 个答案:

答案 0 :(得分:2)

问题的近似坐标包含在异常消息中。

  

System.InvalidOperationException:XML文档(4,4)中存在错误。 ---> System.FormatException:输入字符串的格式不正确。      在System.DateTime.Parse(String str)等.....