次のようなコードを修正する必要があります。
XmlDocument XmlFoo = null;
try{
SomeUntrappedWCFCalls();
SomeUntrappedStringParsing();
SomeUntrappedXMLParsing();
..
XmlFoo = new XmlDocument();
XmlFoo.LoadXml(SomeXml);
..
SomeUntrappedWCFCalls();
SomeUntrappedStringParsing();
SomeUntrappedXMLParsing();
}
(Exception ex){
CodeThatDealsWithPartOfTheExceptionsRaisedAbove();
..
//Need to check if the LoadXml() went wrong
..
CodeThatDealsWithPartOfTheExceptionsRaisedAbove();
}
例外処理セクション(*)を適切にチェックするにはどうすればよいXmlFoo
ですか?XmlDocument
LoadXml()
2 つの制約があります。
- すべてのエラー処理が例外コード内で処理されるため、
LoadXML()
内部をラップすることはできません。XmlException
XmlException
XmlFooの解析の前後に解析される他のXmlファイルがあるため、一般的な例外の直前に作成できません。
次のような方法でノードの数をカウントするのは、安全で洗練されていない回避策ですか。
if (XmlFoo.ChildNodes.Count == 0){..
LoadXML()
または、何らかの方法で解析ステータスを確認するために他の変数が必要ですか?