[omniORB] Why isn't the exception thrown taken care of by the catch(...)

ERIKSSON,TOBIAS (A-Sweden,ex1) tobias_eriksson@agilent.com
Wed, 28 Mar 2001 14:38:50 +0200


Hi 
 I've had this problem a couple of times, but I don't seem to be able to
figure out what it is.
As I run my application it all by a sudden receives an exception (all
according to the stack trace below), what is causing it? The stack trace
says __throw but why doesn't my catch(...) take it? Instead it terminates.

Here is some source;


#0  0x4019b931 in kill () from /lib/libc.so.6
#1  0x40020ef9 in pthread_kill () from /lib/libpthread.so.0
#2  0x40021375 in raise () from /lib/libpthread.so.0
#3  0x4019cc71 in abort () from /lib/libc.so.6
#4  0x4013ef58 in __terminate () from /usr/lib/libstdc++-libc6.1-2.so.3
#5  0x4013ef75 in __terminate () from /usr/lib/libstdc++-libc6.1-2.so.3
#6  0x4013faf4 in __throw () from /usr/lib/libstdc++-libc6.1-2.so.3
#7  0x400c239a in omniExHelper::OBJECT_NOT_EXIST ()
   from
/storm/ComOpt/nue/ComOpt/Development/CellOpt/omniORB3/latest/lib/Linux2.2c6_
x86/libomniORB3.so.0
#8  0x400a6309 in omniOrbORB::run ()
   from
/storm/ComOpt/nue/ComOpt/Development/CellOpt/omniORB3/latest/lib/Linux2.2c6_
x86/libomniORB3.so.0
#9  0x805eeac in ORBThread::run (this=0x81d3bd8, args=0x0) at
ORBThread.cpp:35
#10 0x4002e864 in omni_thread_wrapper ()
   from
/storm/ComOpt/nue/ComOpt/Development/CellOpt/omniORB3/latest/lib/Linux2.2c6_
x86/libomnithread.so.2
#11 0x4001ec9f in pthread_start_thread () from /lib/libpthread.so.0


This is the source for frame #9:

33	  try
34	  {
35	    myOrb->run();
36	  }
37	  catch( CORBA::OBJECT_NOT_EXIST &ex )
38	  {
.
.
.
50	  catch(...)
51	  {
52	   mySettingsObj->log(APP_LOGERROR, funcname, "Caught an unknown
exception, could not start the ORB.");
53	  }


/Tobias