[omniORB] Exception in constructor

Martin Renner Martin.Renner@pp-ulm.de
Thu, 26 Nov 1998 16:28:15 +0100


Hi.

I have this tiny CORBA-interface:

----+----+----
interface test1 {};
----+----+----

Now, I want to throw an exception in the constructor of the C++ implementation:

----+----+----
class EXCEP {};

class test1_i : public virtual _sk_test1
{
public:
    test1_i() { throw EXCEP(); }
};

[...]
{
   test1_i* t1;
   try {
       t1 = new test1_i();
   }
   catch (EXCEP&)
   {
   }
}
----+----+----

When I execute this, my application does not jump into the catch-block. It
aborts in the destructor of the base class (class "test1" in file
"test1.hh"). Is this a bug in omniORB or am I just too stupid to use
exceptions??


My environment:
  NT 3.0
  MSVC 5.0 (with SP3)
  omniORB 2.6.1