首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于.NET库中XmlDocument的Load方法错误无法捕获的情况

2012-04-16 
关于.NET库中XmlDocument的Load方法异常无法捕获的情况C# codeprivate bool LoadXml(string strFilePath){

关于.NET库中XmlDocument的Load方法异常无法捕获的情况

C# code
private bool LoadXml(string strFilePath){    try    {        XmlDocument _doc = new XmlDocument();        _doc.Load(strFilePath);        XmlNode node = _doc.SelectSingleNode("AISolution");        if (node != null)        {            return AIFileType.AI_FILE_TYPE_SOLUTION;        }    }    catch (Exception ex)    {        MessageBox.Show("error");        return false;    }}


如代码所示,因为我的XML文件格式不一定正确(文件里面的内容也不一定是XML格式的),所以Load完并且SelectSingleNode的时候就会给我抛异常,说“Root element is missing”,而我的预期目标是想捕获这些异常,不过程序并没有走到catch里面,MessageBox也没弹出来,就在SelectSingleNode那里中断并抛异常了。

我把catch 的Exception 类型改为 XmlException 也不管用。问下这是怎么回事?接触C#不久,求调教。

[解决办法]
不应该,你单步调试试试
[解决办法]
我在调试了一下,能catch住啊,你试试这code

C# code
namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            try            {                XmlDocument _doc = new XmlDocument();                _doc.Load("C:/test.txt");                XmlNode node = _doc.SelectSingleNode("AISolution");            }            catch (Exception ex)            {                Console.WriteLine("Error");            }        }    }} 

热点排行