C# 这是正确的例外吗?

C# 这是正确的例外吗?,c#,xml,exception,C#,Xml,Exception,我解析一个XML文件来加载数据,当我有一个属性的值无法识别时,我抛出一个InvalidDataException。这是正确的,还是有更好/更具描述性的,对我来说合理的。这不是我特别熟悉的一个例外(也就是说,我在其他API中没有遇到过),但它让我明白了这一点 我想唯一的问题是某种形式的IOException是否更合适。当然,这里的问题不是实际的传输,而是正在传输的内容。当然,这是一个灰色地带。这对我来说似乎是合理的。这不是我特别熟悉的一个例外(也就是说,我在其他API中没有遇到过),但它让我明白了

我解析一个XML文件来加载数据,当我有一个属性的值无法识别时,我抛出一个InvalidDataException。这是正确的,还是有更好/更具描述性的,对我来说合理的。这不是我特别熟悉的一个例外(也就是说,我在其他API中没有遇到过),但它让我明白了这一点


我想唯一的问题是某种形式的
IOException
是否更合适。当然,这里的问题不是实际的传输,而是正在传输的内容。当然,这是一个灰色地带。

这对我来说似乎是合理的。这不是我特别熟悉的一个例外(也就是说,我在其他API中没有遇到过),但它让我明白了这一点


我想唯一的问题是某种形式的
IOException
是否更合适。当然,这里的问题不是实际的传输,而是正在传输的内容。这当然是一个灰色区域。

该异常表明这是文件本身的格式错误,就像字符编码错误一样。XmlException更合适


请考虑抛出ApplicationException,因为它实际上不是XML格式中的错误,而是XML中包含的应用程序不接受的内容。

该异常表明它是文件本身格式中的错误,例如字符编码中的错误。XmlException更合适


考虑抛出ApplicationException,因为它实际上不是XML格式中的错误,而是XML中包含的应用程序不接受的内容。

如果您有一个已发布的架构,可能SchemaValidationException是合适的。

如果您有一个已发布的架构,也许SchemaValidationException是合适的