PDA

View Full Version : [C++]Rilanciare eccezioni


chiara3.0
23-04-2009, 11:23
In una soluzione SmartDevice in C++ ho 3 progetti

Project A:


TestProjectA::TestProjectA(){}

void TestProjectA::testThrowException()
{
int cont = 0;
if(cont == 0)
throw exception();
}


Project B:


TestRethrowException::TestRethrowException()
{
this->projA = new TestProjectA();

}


void TestRethrowException::testRethrowException()
{
try
{
projA->testThrowException();
}
catch(exception)
{
throw exception();
}

}




Main

TestRethrowException *tr = new TestRethrowException();

int i=0;
for(i=0;i<3;i++)
{
try
{
tr->testRethrowException();
}
catch(exception)
{
int y = 0;
int u = 0;
}
}


Quando i=0 l'eccezione è catturata
Quando i=1 l'eccezione è catturata

quando i=2 entra nel metodo "FindFrameInfo(EHRegistrationNode *pRN)"
che è nel file "frame_ce.cpp" di Microsoft.
In questo metodo entra in un ciclo infinito. perché?

tomminno
23-04-2009, 12:11
Quando i=0 l'eccezione è catturata
Quando i=1 l'eccezione è catturata

quando i=2 entra nel metodo "FindFrameInfo(EHRegistrationNode *pRN)"
che è nel file "frame_ce.cpp" di Microsoft.
In questo metodo entra in un ciclo infinito. perché?

Scusa ma dal tuo codice non si capisce che legame ci sia con il problema che hai descritto.
Il tuo codice cattura sempre l'eccezione e non c'è traccia della chiamata a FindFrameInfo.

71104
23-04-2009, 12:21
cercando su Google ho visto che hai postato anche su MSDN e ti hanno risposto in Microsoft accettandolo come feedback, dicendoti anche che non riescono a riprodurre il problema in ambiente desktop; é molto probabile che sia un bug di Windows Mobile.

71104
23-04-2009, 12:22
Scusa ma dal tuo codice non si capisce che legame ci sia con il problema che hai descritto.
Il tuo codice cattura sempre l'eccezione e non c'è traccia della chiamata a FindFrameInfo. FindFrameInfo non é un'API, é una funzione interna di Windows Mobile

tomminno
23-04-2009, 12:45
FindFrameInfo non é un'API, é una funzione interna di Windows Mobile

Beh per lo meno una segnalazione di qual è il punto in cui dà errore...
Visto che nel codice mancano pure le casistiche sul valore di i elencate prima.

Certo che se alla microsoft lo hanno riconosciuto come bug di Windows Mobile (o forse del compilatore che genera codice buggato?), dubito che qualcuno in questo forum possa essere di aiuto.

chiara3.0
23-04-2009, 13:26
cercando su Google ho visto che hai postato anche su MSDN e ti hanno risposto in Microsoft accettandolo come feedback, dicendoti anche che non riescono a riprodurre il problema in ambiente desktop; é molto probabile che sia un bug di Windows Mobile.

Sì, avevo postato anche su msdn, ma credevo di aver interpretato male la risposta datami . :stordita:
Scusate :)