|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
[cppunit]gestione delle eccezioni
ho scritto codice e test per una classe che servirà da elementi in un lista.
ogni elemento della classe rappresenta un processo, e, ragionevolmente non deve mai essere cancellato se non quando il processo è morto. seguendo questa idea nel distruttore ho messo il controllo sull'esistenza del processo. l'idea è quella di loggare il problema, ma non in tutti i casi. quando chiudo il mio programma la lista dei processi attivi sarà sicuramente piena di processi ancora esistenti, e in quel caso non si deve loggare nulla quindi ho pensato di far lanciare al distruttore un'eccezione. in questo modo a seconda del punto del codice in cui la intercetto posso gestirla come meglio credo. il problema è che tutti i test sulla funzione falliscono con un error. questo perchè nel test creo una classe con il pid del processo corrente, e prima di chiudere la funzione questa viene automaticamente distrutta (ma ovviamente il processo esise ancora). ho provato a inserire Codice:
CPPUNIT_TEST(exist); CPPUNIT_TEST_EXCEPTION(exist, StillExistException); Codice:
void ChainElemTest::exist(){
ChainElem elem(getpid());
CPPUNIT_ASSERT(elem.exist());
}
Codice:
ChainElemTest::newElem : OK ChainElemTest::exist : OK ChainElemTest::exist : assertion why? se tolgo il throw nella funzione tutto funziona bene, ma come faccio a gestire i log? ciao |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:56.



















