OK, I have some update on this.
I find that I must use "catch (...)" to catch the exception, otherwise there always is a segment fault.
I tried throw an integer and catch an integer, throw a string and catch a string and that throw a self-defined class object and catch that class, these all do not work.
I tried tracing the flow in gdb, but it can only go to the catch statement and then I see something about SIGNAL and flow lost.
But once I use "catch (..)" then whatever type is thrown, it is fine.
It is strange. Any body see it?
Hi,
I am using gcc3.2.3 as the compiler for my c++ code on Red Hat Linux Enterprise 3. I find that even an exception is caught, "Segment Fault" is still thrown out and program crashes.
Here is my code, int func0(){ ... if (...some condition...){ throw MyException(); } }
char* func(){ try{ ... func0(); } catch (MyException& ){ cout << "Hey catch exception" << endl; return NULL; } }
In running the code, I can see that "Hey catch exception", and then "Segment Fault", it never returns to the caller of func().
Is this a known problem?
Thanks. I wonder
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/