[omniORB] omniORBpy raising exception issue

Duncan Grisby dgrisby@uk.research.att.com
Mon, 10 Apr 2000 11:16:26 +0100


On Monday 10 April, "Bernard Niset" wrote:

> I am trying to raise an exception in an implementation written in python. I
> am using the regular raise python keyword to do it on the server and the
> regular try/catch mechanism in the client, but I don't get the expected
> results on the client : apparently an omniORB.CORBA.UNKNOWN exception is
> received on the client while I am expecting a cdv.NotFound exception.

The most likely explanation is that you haven't specified a raises
clause in the operation declaration. The IDL should look like

interface MyInterface {
  ProductDetail getProductDetail(OID the_id) raises (cdv.NotFound);
};

If you don't have the raises clause, then omniORB will convert
NotFound exceptions into UNKNOWN exceptions.

If you _have_ specified a raises clause, then it's probably an
omniORBpy bug. If so, please send the complete IDL you are using, as
well as the client and server code.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --