Почему инструмент "Очистить" показывает ошибку IPR в операторе "throw true"?

Выполняя проверку памяти с помощью очистителя, он показывает ошибку IPR в следующем утверждении.

 throw true;

В чем может быть проблема?

void Myfunc(char *p_trace_id,char *p_session_id,int &p_roam_flag)
{
   try
   {
      int set_id=0;

      if(0 == set_id)
         throw true;
   }

   catch(bool p_return_value)
   {
      if(!p_return_value)
      {
         g_Log.log(DEBUG, p_trace_id ,"[%s] %s<Line: %d> ", p_session_id ,__FUNCTION__,__LINE__);

         p_roam_flag = 0;
      }
   }
   catch(...)
   {
      g_Log.log(DEBUG, p_trace_id ,"[%s] %s<Line: %d> ", p_session_id ,__FUNCTION__,__LINE__);
   }
}

Согласно моему анализу, существует проблема в более старой версии очистки. Но я использую последнюю версию.

Purify V7.0
Solaris V5.0

0 ответов

Другие вопросы по тегам