2009-06-18 100 views
0

我解析XML文件來加載數據,當我有一個屬性有一個無法識別的值,我拋出一個InvalidDataException。這是正確的還是有更好/更具描述性的一個這是正確的例外嗎?

回答

2

該異常表明它是文件本身格式的錯誤,就像字符編碼中的錯誤。 XmlException將更適合。

請考慮拋出一個ApplicationException,因爲它不是XML格式的錯誤,而是XML包含的應用程序不接受的東西。

+0

你可能是對的。謝謝! – RCIX 2009-06-18 09:22:10

3

這對我來說似乎是合理的。這不是我特別熟悉的例外情況(即我沒有在其他API中遇到過),但它可以說明問題。

我想唯一的問題是某種形式的IOException是否會更合適。這不是實際的傳輸這是這裏的問題,當然 - 這是正在傳輸的內容。當然,這是一個灰色地帶。

0

如果您有已發佈的架構,則可能是適合的SchemaValidationException。

+0

不支持架構(尚未)。 – RCIX 2009-06-18 23:17:56