无法捕获System.Xaml.XamlParseException

时间:2012-08-12 02:42:40

标签: c# wpf xaml exception-handling xml-parsing

我有一个空字符串,当我在XmlReader上使用它时,它当然会解析“root element is missin”异常,我试图抓住它但是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();
}

1 个答案:

答案 0 :(得分:3)

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

在这里您使用的是Windows标记XamlReader,因此{@ 1}}不会被抛出,而应该抓住System.Xaml.XamlParseException

这应该适合你 -

System.Windows.Markup.XamlParseException