Chinaunix首页 | 论坛 | 博客
  • 博客访问: 567446
  • 博文数量: 493
  • 博客积分: 2891
  • 博客等级: 少校
  • 技术积分: 4960
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 17:11
文章分类

全部博文(493)

文章存档

2010年(493)

分类:

2010-05-12 17:23:53

2、通过MM代码查看分析,发现MM在解析xml文件后获取节点是出现了空指针,同时在引用Microsoft SDK\include\MsXml.h类库中方法时没有对异常进行捕获,最终导致MM宕机。具体出错代码如下:
try
 {
  //pRootNode->get_baseName(&tempValue);
  hr = pRootNode->get_firstChild(&pLogItem);
        if (FAILED(hr))
        {
            return retValue;
        }
  do
  {
           此时没有对pLogItem进行空指针判断,导致异常出现。
            //hr = pLogItem->get_previousSibling(&pPreviousNode);
   hr = pLogItem->get_nextSibling(&pMediaNextNode);
            if (FAILED(hr))
            {
                return retValue;
            }
     ……
catch(_com_error &e)
 {
  pRootNode->Release();
  DumpComError(e);
  sprintf(resultDescription,"list.xml has syntax errors.Please check list.xml file.");
  return retValue;
 }异常捕获不全面应该使用
catch(...)
    {
    }进行异常捕获
阅读(1859) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~