Soit un programme (c++) super con:


#include "stdio.h"

int main(int argc, char* argv[])
{
        try
        {
                int i=1/0;
        }
        catch(...)
        {
                printf("exception catched");
        }
        return 0;
}

--> compil� comme ceci
gcc ./test.cpp -o test

--> on re�oit un Floating Point Exception ... c'est donc pas catch� par le catch(...)

--> autre test avec

char *pointeur=NULL;
strcpy(pointeur,"truc");

--> de nouveau, au run, segmentation fault ... c'est pas catch� ...

On a essay� avec

throw(5);

--> veut pas compiler ... ... OK, on rajoute -lstdc++ (ou c++ � la place de gcc)

--> l�, ca catche correctement

On r�essaie les autres possibilit�s avec -lstdc++ ... --> m�me comportement

on a essay� -fexception : m�me comportement ...

Comment se fait-il que le catch ne fonctionne pas???

C'est gcc 3.2 ???
Avec une beta gcc 3.3 recompil�e, ca fait exactement la m�me chose

merci

Jean-Michel


Jean-Michel Reghem Voice Technology Development Engineer E-Mail : mailto:[EMAIL PROTECTED]

Babel Technologies S.A.
Boulevard Dolez 33 B-7000 Mons (Belgium)
Tel: +32-(0)65 37.43.06
http://www.babeltech.com



-- Avec i-mode, vivez une toute nouvelle experience de la communication et des services en ligne. Plus d�info sur http://www.imode.be CyberCafe 2.0 <http://www.cybercafe.tv> Chaque Mardi 19h15 sur La 2! Desabonnement par email : <mailto:[EMAIL PROTECTED]>

Répondre à