gcc3.2.3 : exception caught, but still segment fault

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux