您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ EXC_TRY函数代码示例

51自学网 2021-06-01 20:36:02
  C++
这篇教程C++ EXC_TRY函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中EXC_TRY函数的典型用法代码示例。如果您正苦于以下问题:C++ EXC_TRY函数的具体用法?C++ EXC_TRY怎么用?C++ EXC_TRY使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了EXC_TRY函数的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ADDTOCALLSTACK

bool CSector::r_LoadVal( CScript &s ){	ADDTOCALLSTACK("CSector::r_LoadVal");	EXC_TRY("LoadVal");	switch ( FindTableSorted( s.GetKey(), sm_szLoadKeys, CountOf( sm_szLoadKeys )-1 ))	{		case SC_COLDCHANCE:			SetWeatherChance( false, s.HasArgs() ? s.GetArgVal() : -1 );			return true;		case SC_FLAGS:			m_dwFlags = s.GetArgVal();			return true;		case SC_LIGHT:			if ( g_Cfg.m_bAllowLightOverride )				SetLight( (s.HasArgs()) ? s.GetArgVal() : -1 );			else				g_Log.EventWarn("AllowLightOverride flag is disabled in sphere.ini, so sector's LIGHT property wasn't set/n");			return true;		case SC_RAINCHANCE:			SetWeatherChance( true, s.HasArgs() ? s.GetArgVal() : -1 );			return true;		case SC_SEASON:			SetSeason(s.HasArgs() ? static_cast<SEASON_TYPE>(s.GetArgVal()) : SEASON_Summer);			return (true);		case SC_WEATHER:			SetWeather(s.HasArgs() ? static_cast<WEATHER_TYPE>(s.GetArgVal()) : WEATHER_DRY);			return true;	}	EXC_CATCH;	EXC_DEBUG_START;	EXC_ADD_SCRIPT;	EXC_DEBUG_END;	return false;}
开发者ID:Sphereserver,项目名称:Source2,代码行数:35,


示例2: ADDTOCALLSTACK

bool CWebPageDef::r_LoadVal( CScript & s ) // Load an item Script{	ADDTOCALLSTACK("CWebPageDef::r_LoadVal");	EXC_TRY("LoadVal");	switch ( FindTableSorted( s.GetKey(), sm_szLoadKeys, COUNTOF( sm_szLoadKeys )-1 ))	{		case WC_PLEVEL:			m_privlevel = static_cast<PLEVEL_TYPE>(s.GetArgVal());			break;		case WC_WEBPAGEFILE:			m_sDstFilePath = s.GetArgStr();			break;		case WC_WEBPAGELOG:			m_iUpdateLog = s.GetArgVal();			break;		case WC_WEBPAGESRC:			return SetSourceFile( s.GetArgStr(), NULL );		case WC_WEBPAGEUPDATE:	// (seconds)			m_iUpdatePeriod = s.GetArgVal() * TICK_PER_SEC;			if ( m_iUpdatePeriod && m_type == WEBPAGE_TEXT )			{				m_type = WEBPAGE_TEMPLATE;			}			break;		default:			return( CScriptObj::r_LoadVal( s ));	}	return true;	EXC_CATCH;	EXC_DEBUG_START;	EXC_ADD_SCRIPT;	EXC_DEBUG_END;	return false;}
开发者ID:Sphereserver,项目名称:Source,代码行数:35,


示例3: ADDTOCALLSTACK

bool CSector::r_LoadVal( CScript &s ){	ADDTOCALLSTACK("CSector::r_LoadVal");	EXC_TRY("LoadVal");	switch ( FindTableSorted( s.GetKey(), sm_szLoadKeys, COUNTOF( sm_szLoadKeys )-1 ))	{		case SC_COLDCHANCE:			SetWeatherChance( false, s.HasArgs() ? s.GetArgVal() : -1 );			return( true );		case SC_FLAGS:			m_dwFlags = s.GetArgVal();			return true;		case SC_LIGHT:			if ( g_Cfg.m_bAllowLightOverride )				m_Env.m_Light = static_cast<unsigned char>(s.GetArgVal() | LIGHT_OVERRIDE);			return true;		case SC_RAINCHANCE:			SetWeatherChance( true, s.HasArgs() ? s.GetArgVal() : -1 );			return( true );		case SC_SEASON:			SetSeason(s.HasArgs() ? static_cast<SEASON_TYPE>(s.GetArgVal()) : SEASON_Summer);			return (true);		case SC_WEATHER:			SetWeather(s.HasArgs() ? static_cast<WEATHER_TYPE>(s.GetArgVal()) : WEATHER_DRY);			return( true );	}	EXC_CATCH;	EXC_DEBUG_START;	EXC_ADD_SCRIPT;	EXC_DEBUG_END;	return false;}
开发者ID:MortalROs,项目名称:Source,代码行数:33,


示例4: EXC_TRY

bool CScriptTriggerArgs::r_Verb( CScript & s, CTextConsole * pSrc ){	int	index;	LPCTSTR		pszKey = s.GetKey();	LPCTSTR		pszArgs = s.GetArgStr();	LOCKDATA;	EXC_TRY(("r_Verb('%s %s',%x)", pszKey, pszArgs, pSrc));	if ( !strnicmp( "LOCAL.", pszKey, 6 ) )	{		bool fQuoted = false;		m_VarsLocal.SetStr( s.GetKey()+6, fQuoted, s.GetArgStr( &fQuoted ), false );		return( true );	}	index = FindTableSorted( s.GetKey(), sm_szLoadKeys, COUNTOF(sm_szLoadKeys)-1 );	switch (index)	{	case AGC_N:	case AGC_N1:		m_iN1	= s.GetArgVal();		return true;	case AGC_N2:		m_iN2	= s.GetArgVal();		return true;	case AGC_N3:		m_iN3	= s.GetArgVal();		return true;	case AGC_S:		Init( s.GetArgStr() );		return true;	}	EXC_CATCH("CScriptTriggerArgs");	return false;}
开发者ID:GenerationOfWorlds,项目名称:Sphere,代码行数:35,


示例5: ADDTOCALLSTACK

bool CItemSpawn::r_WriteVal(LPCTSTR pszKey, CGString & sVal, CTextConsole *pSrc){	ADDTOCALLSTACK("CitemSpawn:r_WriteVal");	EXC_TRY("WriteVal");	if (!strnicmp(pszKey, "amount", 6))	{		sVal.FormatVal(GetAmount());		return true;	}	else if ( !strnicmp(pszKey, "at.", 3) )	{		pszKey += 3;		int objIndex = Exp_GetVal(pszKey);		if ( m_obj[objIndex].ItemFind() )			return m_obj[objIndex].ItemFind()->r_WriteVal(pszKey, sVal, pSrc);		else if ( m_obj[objIndex].CharFind() )			return m_obj[objIndex].CharFind()->r_WriteVal(pszKey, sVal, pSrc);		return true;	}	else if ( !strnicmp(pszKey, "count", 5) )	{		sVal.FormatVal(GetCount());		return true;	}	EXC_CATCH;	return CItem::r_WriteVal(pszKey, sVal, pSrc);}
开发者ID:DarkLotus,项目名称:Source,代码行数:27,


示例6: EXC_TRY

bool CItemMessage::r_Verb( CScript & s, CTextConsole * pSrc ){	LOCKDATA;	EXC_TRY(("r_Verb('%s %s',%x)", s.GetKey(), s.GetArgStr(), pSrc));	ASSERT(pSrc);	if ( s.IsKey( sm_szVerbKeys[0] ))	{		// 1 based pages.		int iPage = ( s.GetArgStr()[0] && toupper( s.GetArgStr()[0] ) != 'A' ) ? s.GetArgVal() : 0;		if ( ! iPage )		{			m_sBodyLines.RemoveAll();			return( true );		}		else if ( iPage <= m_sBodyLines.GetCount())		{			m_sBodyLines.RemoveAt( iPage-1 );			return( true );		}	}	if ( s.IsKeyHead( "PAGE", 4 ))	{		SetPageText( atoi( s.GetKey() + 4 )-1, s.GetArgStr());		return( true );	}	return CItemVendable::r_Verb(s, pSrc);	EXC_CATCH("CItemMessage");	return false;}
开发者ID:GenerationOfWorlds,项目名称:Sphere,代码行数:29,


示例7: ADDTOCALLSTACK

void CPathFinder::FillMap(){	ADDTOCALLSTACK("CPathFinder::FillMap");	CRegionBase	*pArea;	CPointMap	pt, ptChar;	EXC_TRY("FillMap");	pt = ptChar = m_pChar->GetTopPoint();	for ( int x = 0 ; x != PATH_SIZE; ++x )	{		for ( int y = 0; y != PATH_SIZE; ++y )		{			if (x == m_Target.m_x && y == m_Target.m_y)			{				// always assume that our target position is walkable				m_Points[x][y].m_Walkable = PATH_WALKABLE;			}			else			{				pt.m_x = static_cast<signed short>(x) + m_RealX;				pt.m_y = static_cast<signed short>(y) + m_RealY;					pArea = m_pChar->CanMoveWalkTo(pt, true, true, DIR_QTY, true);				m_Points[x][y].m_Walkable = pArea ? PATH_WALKABLE : PATH_UNWALKABLE;			}			m_Points[x][y].Set(static_cast<WORD>(x), static_cast<WORD>(y), pt.m_z, pt.m_map);		}	}	EXC_CATCH;}
开发者ID:bucketyied,项目名称:Source,代码行数:33,


示例8: ADDTOCALLSTACK

bool CRegionWorld::r_Verb( CScript & s, CTextConsole * pSrc ) // Execute command from script{	ADDTOCALLSTACK("CRegionWorld::r_Verb");	EXC_TRY("Verb");	/*LPCTSTR pszKey = s.GetKey();	if ( !strnicmp(pszKey, "CLEARTAGS", 9) )	{		pszKey = s.GetArgStr();		SKIP_SEPARATORS(pszKey);		m_TagDefs.ClearKeys(pszKey);		return true;	}		int index = FindTableSorted(pszKey, sm_szVerbKeys, COUNTOF(sm_szVerbKeys) - 1);	if ( index < 0 )*/		return CRegionBase::r_Verb(s, pSrc);	/*switch( static_cast<RWV_TYPE>(index) )	{		case RWV_TAGLIST:			m_TagDefs.DumpKeys(pSrc, "TAG.");			return true;		default:			return false;	}	return true;*/	EXC_CATCH;	EXC_DEBUG_START;	g_Log.EventDebug("command '%s' args '%s' [%p]/n", s.GetKey(), s.GetArgRaw(), static_cast<void *>(pSrc));	EXC_DEBUG_END;	return false;}
开发者ID:bucketyied,项目名称:Source,代码行数:34,


示例9: ADDTOCALLSTACK

bool CRegionResourceDef::r_LoadVal( CScript & s ){	ADDTOCALLSTACK("CRegionResourceDef::r_LoadVal");	EXC_TRY("LoadVal");	// RES_REGIONRESOURCE	switch ( FindTableSorted( s.GetKey(), sm_szLoadKeys, COUNTOF( sm_szLoadKeys )-1 ))	{		case RMC_AMOUNT: // AMOUNT			m_Amount.Load( s.GetArgRaw() );			break;		case RMC_DEFNAME: // "DEFNAME",			return SetResourceName( s.GetArgStr());		case RMC_REAP: // "REAP",			m_ReapItem = static_cast<ITEMID_TYPE>(g_Cfg.ResourceGetIndexType( RES_ITEMDEF, s.GetArgStr()));			break;		case RMC_REAPAMOUNT:			m_ReapAmount.Load( s.GetArgRaw() );			break;		case RMC_REGEN:	// TICK_PER_SEC once found how long to regen this type.			m_iRegenerateTime.Load( s.GetArgRaw() );			break;		case RMC_SKILL:			m_Skill.Load( s.GetArgRaw() );			break;		default:			return( CResourceDef::r_LoadVal( s ));	}	return true;	EXC_CATCH;	EXC_DEBUG_START;	EXC_ADD_SCRIPT;	EXC_DEBUG_END;	return false;}
开发者ID:swak,项目名称:Source,代码行数:35,


示例10: ADDTOCALLSTACK

void CCharPlayer::r_WriteChar( CChar * pChar, CScript & s ) {	ADDTOCALLSTACK("CCharPlayer::r_WriteChar");	UNREFERENCED_PARAMETER(pChar);	EXC_TRY("r_WriteChar");	s.WriteKey("ACCOUNT", GetAccount()->GetName());	if ( m_wDeaths )		s.WriteKeyVal( "DEATHS", m_wDeaths );	if ( m_wMurders )		s.WriteKeyVal( "KILLS", m_wMurders );	if ( GetSkillClass()->GetResourceID().GetResIndex() )		s.WriteKey( "SKILLCLASS", GetSkillClass()->GetResourceName());	if ( m_pflag )		s.WriteKeyVal( "PFLAG", m_pflag );	if ( m_speedMode )		s.WriteKeyVal("SPEEDMODE", m_speedMode);	if (( GetAccount()->GetResDisp() >= RDS_KR ) && m_bKrToolbarEnabled )		s.WriteKeyVal("KRTOOLBARSTATUS", m_bKrToolbarEnabled);	EXC_SET("saving dynamic speech");	if ( m_Speech.GetCount() > 0 )	{		CGString sVal;		m_Speech.WriteResourceRefList( sVal );		s.WriteKey("DSPEECH", sVal);	}	EXC_SET("saving profile");	if ( ! m_sProfile.IsEmpty())	{		TCHAR szLine[SCRIPT_MAX_LINE_LEN-16];		Str_MakeUnFiltered( szLine, m_sProfile, sizeof(szLine));		s.WriteKey( "PROFILE", szLine );	}	EXC_SET("saving stats locks");	for ( int x = 0; x < STAT_BASE_QTY; x++)	// Don't write all lock states!	{		if ( ! m_StatLock[x] )			continue;		TCHAR szTemp[128];		sprintf( szTemp, "StatLock[%d]", x );	// smaller storage space.		s.WriteKeyVal( szTemp, m_StatLock[x] );	}	EXC_SET("saving skill locks");	for ( size_t j = 0; j < g_Cfg.m_iMaxSkill; j++ )	// Don't write all lock states!	{		ASSERT(j < COUNTOF(m_SkillLock));		if ( ! m_SkillLock[j] )			continue;		TCHAR szTemp[128];		sprintf( szTemp, "SkillLock[%" FMTSIZE_T "]", j );	// smaller storage space.		s.WriteKeyVal( szTemp, m_SkillLock[j] );	}	EXC_CATCH;}
开发者ID:DarkLotus,项目名称:Source,代码行数:59,


示例11: ADDTOCALLSTACK

bool CContainer::r_WriteValContainer(LPCTSTR pszKey, CGString & sVal, CTextConsole *pSrc){	ADDTOCALLSTACK("CContainer::r_WriteValContainer");	EXC_TRY("WriteVal");	static LPCTSTR const sm_szParams[] =	{		"count",		"fcount",		"rescount",		"restest"	};	int i = FindTableHeadSorted(pszKey, sm_szParams, COUNTOF(sm_szParams));	if ( i < 0 )		return false;	LPCTSTR	pKey = pszKey + strlen(sm_szParams[i]);	SKIP_SEPARATORS(pKey);	switch ( i )	{		case 0:			//	count		{			int iTotal = 0;			for ( CItem* pItem = GetContentHead(); pItem != NULL; pItem = pItem->GetNext() )				iTotal++;			sVal.FormatVal(iTotal);		} break;		case 1:			//	fcount			sVal.FormatVal(ContentCountAll());			break;		case 2:			//	rescount			sVal.FormatVal(*pKey ? ContentCount(g_Cfg.ResourceGetID(RES_ITEMDEF, pKey)) : GetCount());			break;		case 3:			//	restest		{			CResourceQtyArray Resources;			sVal.FormatVal(Resources.Load(pKey) ? ResourceConsume(&Resources, 1, true) : 0);		} break;		default:			return false;	}	return true;	EXC_CATCH;	EXC_DEBUG_START;	EXC_ADD_KEYRET(pSrc);	EXC_DEBUG_END;	return false;}
开发者ID:greeduomacro,项目名称:Source,代码行数:56,


示例12: ADDTOCALLSTACK

bool CClient::addRelay( const CServerDef * pServ ){	ADDTOCALLSTACK("CClient::addRelay");	EXC_TRY("addRelay");	// Tell the client to play on this server.	if ( !pServ )		return false;	CSocketAddressIP ipAddr = pServ->m_ip;	if ( ipAddr.IsLocalAddr())	// local server address not yet filled in.	{		ipAddr = m_net->m_socket.GetSockName();		DEBUG_MSG(( "%x:Login_Relay to %s/n", GetSocketID(), ipAddr.GetAddrStr() ));	}	if ( GetPeer().IsLocalAddr() || GetPeer().IsSameIP( ipAddr ))	// weird problem with client relaying back to self.	{		DEBUG_MSG(( "%x:Login_Relay loopback to server %s/n", GetSocketID(), ipAddr.GetAddrStr() ));		ipAddr.SetAddrIP( SOCKET_LOCAL_ADDRESS );	}	EXC_SET("customer id");	dword dwAddr = ipAddr.GetAddrIP();	dword dwCustomerId = 0x7f000001;	if ( g_Cfg.m_fUseAuthID )	{		CSString sCustomerID(pServ->GetName());		sCustomerID.Add(GetAccount()->GetName());		dwCustomerId = z_crc32(0L, Z_NULL, 0);		dwCustomerId = z_crc32(dwCustomerId, reinterpret_cast<const z_Bytef *>(sCustomerID.GetPtr()), (z_uInt)sCustomerID.GetLength());		GetAccount()->m_TagDefs.SetNum("customerid", dwCustomerId);	}	DEBUG_MSG(( "%x:Login_Relay to server %s with AuthId %u/n", GetSocketID(), ipAddr.GetAddrStr(), dwCustomerId ));	EXC_SET("server relay packet");	new PacketServerRelay(this, dwAddr, pServ->m_ip.GetPort(), dwCustomerId);		m_Targ_Mode = CLIMODE_SETUP_RELAY;	return true;	EXC_CATCH;	EXC_DEBUG_START;	g_Log.EventDebug("account '%s'/n", GetAccount() ? GetAccount()->GetName() : "");	EXC_DEBUG_END;	return false;}
开发者ID:nefthon,项目名称:Source,代码行数:51,


示例13: ADDTOCALLSTACK

bool CScript::FindNextSection(){	ADDTOCALLSTACK("CScript::FindNextSection");	EXC_TRY("FindNextSection");	// RETURN: false = EOF.	if ( m_fSectionHead )	// we have read a section already., (not at the start)	{		// Start from the previous line. It was the line that ended the last read.		m_pszKey = GetKeyBuffer();		ASSERT(m_pszKey);		m_fSectionHead = false;		if ( m_pszKey[0] == '[' )			goto foundit;	}	for (;;)	{		if ( !ReadTextLine(true) )		{			m_lSectionData = GetPosition();			return( false );		}		if ( m_pszKey[0] == '[' )			break;	}foundit:	// Parse up the section name.	m_pszKey++;	size_t len = strlen( m_pszKey );	for ( size_t i = 0; i < len; i++ )	{		if ( m_pszKey[i] == ']' )		{			m_pszKey[i] = '/0';			break;		}	}	m_lSectionData = GetPosition();	if ( IsSectionType( "EOF" ))		return( false );	Str_Parse( m_pszKey, &m_pszArg );	return true;	EXC_CATCH;	return false;}
开发者ID:DarkLotus,项目名称:Source,代码行数:49,


示例14: Sphere_MainMonitorLoop

static void Sphere_MainMonitorLoop(){	const char *m_sClassName = "Sphere";	// Just make sure the main loop is alive every so often.	// This should be the parent thread. try to restart it if it is not.	while ( ! g_Serv.m_iExitFlag )	{		EXC_TRY("MainMonitorLoop");		if ( g_Cfg.m_iFreezeRestartTime <= 0 )		{			DEBUG_ERR(("Freeze Restart Time cannot be cleared at run time/n"));			g_Cfg.m_iFreezeRestartTime = 10;		}		EXC_SET("Sleep");		// only sleep 1 second at a time, to avoid getting stuck here when closing		// down with large m_iFreezeRestartTime values set		for (int i = 0; i < g_Cfg.m_iFreezeRestartTime; ++i)		{			if ( g_Serv.m_iExitFlag )				break;#ifdef _WIN32			NTWindow_OnTick(1000);#else			Sleep(1000);#endif		}		EXC_SET("Checks");		// Don't look for freezing when doing certain things.		if ( g_Serv.IsLoading() || ! g_Cfg.m_fSecure || g_Serv.IsValidBusy() )			continue;		EXC_SET("Check Stuck");#ifndef _DEBUG		if (g_Main.checkStuck() == true)			g_Log.Event(LOGL_CRIT, "'%s' thread hang, restarting.../n", g_Main.getName());#endif		EXC_CATCH;		EXC_DEBUG_START;		EXC_DEBUG_END;	}}
开发者ID:roberpot,项目名称:Source,代码行数:47,


示例15: Sphere_OnTick

int Sphere_OnTick(){	// Give the world (CMainTask) a single tick. RETURN: 0 = everything is fine.	const char *m_sClassName = "Sphere";	EXC_TRY("Tick");#ifdef _WIN32	EXC_SET("service");	g_Service.OnTick();#endif	EXC_SET("ships_tick");	g_Serv.ShipTimers_Tick();	EXC_SET("world");	g_World.OnTick();	// process incoming data	EXC_SET("network-in");#ifndef _MTNETWORK	g_NetworkIn.tick();#else	g_NetworkManager.processAllInput();#endif	EXC_SET("server");	g_Serv.OnTick();	// push outgoing data#ifndef _MTNETWORK	if (g_NetworkOut.isActive() == false)	{		EXC_SET("network-out");		g_NetworkOut.tick();	}#else	EXC_SET("network-tick");	g_NetworkManager.tick();	EXC_SET("network-out");	g_NetworkManager.processAllOutput();#endif	EXC_CATCH;	EXC_DEBUG_START;	EXC_DEBUG_END;	return g_Serv.m_iExitFlag;}
开发者ID:roberpot,项目名称:Source,代码行数:47,


示例16: ADDTOCALLSTACK

bool CPartyDef::r_LoadVal( CScript & s ){ 	ADDTOCALLSTACK("CPartyDef::r_LoadVal");	EXC_TRY("LoadVal");	LPCTSTR pszKey = s.GetKey();	int index = FindTableHeadSorted(pszKey, sm_szLoadKeys, COUNTOF(sm_szLoadKeys)-1);		switch ( index )	{		case PDC_SPEECHFILTER:		{			if ( !s.HasArgs() )				this->m_pSpeechFunction.Empty();			else			{				LPCTSTR pszArg = s.GetArgStr();				CResourceLink * m_pTestEvent = dynamic_cast<CResourceLink *>( g_Cfg.ResourceGetDefByName( RES_FUNCTION, pszArg ) );				if ( m_pTestEvent == NULL )					return( false );						this->m_pSpeechFunction.Format("%s", pszArg);			}				} break;		case PDC_TAG0:		case PDC_TAG:		{			bool fQuoted = false;			pszKey = pszKey + ((index == PDC_TAG0) ? 5 : 4);			m_TagDefs.SetStr( pszKey, fQuoted, s.GetArgStr( &fQuoted ), (index == PDC_TAG0) );		} break;				default:			return false;	}	return true;	EXC_CATCH;	EXC_DEBUG_START;	EXC_ADD_SCRIPT;	EXC_DEBUG_END;	return false;}
开发者ID:roberpot,项目名称:Source,代码行数:46,


示例17: ADDTOCALLSTACK

bool CItemSpawn::r_LoadVal(CScript & s){	ADDTOCALLSTACK("CitemSpawn:r_LoadVal");	EXC_TRY("LoadVal");	if (g_Serv.IsLoading())	{		if (!strnicmp(s.GetKey(), "more2", 5))	//More2 shouldn't be loaded as it's being set with ADDOBJ			return true;	}	int iCmd = FindTableSorted(s.GetKey(), sm_szLoadKeys, COUNTOF(sm_szLoadKeys) - 1);	if (iCmd < 0)		return CItem::r_LoadVal(s);	switch (iCmd)	{		case ISPW_ADDOBJ:		{			CGrayUID uid = static_cast<CGrayUID>(s.GetArgVal());			if ( uid.ObjFind() )				AddObj(uid);			return true;		}		case ISPW_DELOBJ:		{			CGrayUID uid = static_cast<CGrayUID>(s.GetArgVal());			if (uid.ObjFind())				DelObj(uid);			return true;		}		case ISPW_RESET:			KillChildren();			return true;		case ISPW_START:			SetTimeout(0);			return true;		case ISPW_STOP:			KillChildren();			SetTimeout(-1);			return true;		default:			break;	}	EXC_CATCH;	return false;}
开发者ID:leandrorenato,项目名称:Source,代码行数:46,


示例18: EXC_TRY

bool CItemMulti::r_LoadVal( CScript & s  ){	LOCKDATA;	EXC_TRY(("r_LoadVal('%s %s')", s.GetKey(), s.GetArgStr()));	if ( s.IsKeyHead( "REGION.", 7 ))	{		if ( ! IsTopLevel())		{			MoveTo( GetTopPoint()); // Put item on the ground here.		}		ASSERT( m_pRegion );		CScript script( s.GetKey()+7, s.GetArgStr());		return( m_pRegion->r_LoadVal( script ) );	}	return CItem::r_LoadVal(s);	EXC_CATCH("CItemMulti");	return false;}
开发者ID:GenerationOfWorlds,项目名称:Sphere,代码行数:18,



注:本文中的EXC_TRY函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ EXDLL_INIT函数代码示例
C++ EXCLOG函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。