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不会被扔到这里,而是应该 catch 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 回答