我正在使用XmlReader類,即只讀閱讀器。我正在調用的方法將光標作爲副作用。但是,有時該方法會引發異常,並將光標留在意外的地方。我該如何處理?如何使用XmlReader可靠地工作
xml.ReadStartElement("root");
if (xml.IsStartElement("Results"))
{
try
{
results = Results.FromXml(xml);
// if method successful, it reads past the closing tag of the 'Results' element
}
catch
{
results = null;
// I want to manually move the cursor past the closing tag of the 'Results' element.
}
}
實施例的文檔
<root>
<results>
<arbitaryxml/>
</results>*
<signatures>
如果Results.FromXml方法是成功的,光標被在左*。但是,如果失敗,它可能會留在results元素中的任何地方。我希望我的catch塊確保光標前進到*。 (注意下一個元素並不總是被稱爲'簽名')。
我發現這很難解釋。請問是否需要澄清,我可以舉更多例子。
我覺得自己是個例外,一般不應該是方案的預期流的一部分。他們應該是有計劃的,是的,但我覺得你應該做一些檢查,以防止異常被拋在第一位。 – Gray 2013-03-21 14:01:46
有什麼理由可以失敗?我會解決原因而不是症狀。 – 2013-03-21 14:04:04