2

私は空の文字列を持っています.XmlReaderでそれを使用すると、もちろん「ルート要素が欠落しています」という例外が発生し、それをキャッチしようとしていますが、try,catch応答しません.この例外をキャッチする方法またはそれを検出する方法はありますか私の文字列は解析できません。

System.IO.StringReader stringReader = new System.IO.StringReader("");

System.Xml.XmlReader xmlReader = System.Xml.XmlTextReader.Create(stringReader, new System.Xml.XmlReaderSettings());

try
{
    object ob = System.Windows.Markup.XamlReader.Load(xmlReader);//
    mycv = (Canvas)ob;
}
    catch (Exception ex) //even if I use System.Xaml.XamlParseException
{
    mycv = new Canvas();
}
4

1 に答える 1

3
object ob = System.Windows.Markup.XamlReader.Load(xmlReader);

ここでは Windows マークアップ XamlReader を使用しているため、System.Xaml.XamlParseExceptionここではスローされず、代わりに をキャッチする必要がありますSystem.Windows.Markup.XamlParseException

これはあなたのために働くはずです-

try
{
    object ob = System.Windows.Markup.XamlReader.Load(xmlReader);//
    mycv = (Canvas)ob;
}
    catch (System.Windows.Markup.XamlParseException ex)
{
    mycv = new Canvas();
}
于 2012-08-12T09:19:49.610 に答える