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

关于try catch 多谢~

2012-03-05 
关于try catch谢谢~~~~~~~~~在这里有1个crash潜在我想加个trycatch怎么加谢谢inlinevoidFlightReportUpdat

关于try catch 谢谢~~~~~~~~~
在这里有1个crash   潜在     我想加个try   catch   怎么加     谢谢

inline   void   FlightReportUpdate(const   uint32   &diff)
                {
                        Guard   guard(*this);
                        for(FlightMapType::iterator   iter=i_flights.begin();   iter   !=   i_flights.end();)
                        {
                                //DEBUG_LOG( "id=%d   IsInWorld=%d ",   iter-> first,iter-> first-> IsInWorld());
                                if(   iter-> first-> IsInWorld()   !=   1   )
                                {
                                        //   do   not   use   any   func   like   "getname() "   if   player   is   offline,   or   it   crash   server(就是这里会出现问题)
                                        DEBUG_LOG( "Removing   player   id=%d   flight   from   flight   master.   (player   offline) ",   iter-> first);
                                        delete   iter-> second;
                                        i_flights.erase(iter++);
                                }
                                else   if(   iter-> second-> CheckFlight(diff)   )
                                {
                                        DEBUG_LOG( "Removing   player   %s   flight   from   flight   master. ",   iter-> first-> GetName());
                                        delete   iter-> second;
                                        i_flights.erase(iter++);
                                }
                                else
                                        ++iter;
                        }


                }

[解决办法]
先问一句,crash的地方是throw东西然后导致崩溃的嘛?
它不throw的话,你catch是没有意义的
[解决办法]
让他重新跳到正确的地方 继续执行
------------------------------------------
既然跳到正确地方继续执行了,那就不用catch了阿

热点排行