我解析XML文件以加载数据,当我有一个具有无法识别的值的属性时,我抛出一个InvalidDataException。这是正确的还是更好/更具描述性的
答案 0 :(得分:3)
这对我来说似乎很合理。这并不是我特别熟悉的例外(即我没有在其他API中遇到它),但它得到了重点。
我想唯一的问题是某种形式的IOException
是否更合适。这不是实际的转移,这是问题,当然 - 这是正在转移的内容。当然,这是一个灰色区域。
答案 1 :(得分:2)
该异常表明它是文件本身格式的错误,就像字符编码中的错误一样。 XmlException会更合适。
考虑抛出一个ApplicationException,因为它实际上不是XML格式的错误,而是XML包含的应用程序不接受的内容。
答案 2 :(得分:0)
如果您有已发布的架构,则可能适合使用SchemaValidationException。