[omniORB] exceptions during up-call to python servant
Luke Deller
ldeller at xplantechnology.com
Mon Apr 19 18:46:28 BST 2004
Hi all,
When my servant has a bug and raises a python exception during an
up-call, omniORBpy prints out a traceback (if the traceLevel is at least
1) before raising an UNKNOWN exception. I find this traceback to be
incredibly useful for tracking down my bug.
However, omniORBpy is much less helpful with unexpected CORBA exceptions.
If my servant causes a CORBA SystemException to be raised (eg by
performing a problematic CORBA method call), then the SystemException is
simply propagated. When there is a deep stack of CORBA method calls,
the exception is propagated all the way to the top without any traceback
or log message of any kind to help me find which servant caused the
problem. (Is this propagation behaviour dictated by the CORBA spec?)
If my servant causes an unexpected CORBA UserException (eg by failing to
handle an exception from a CORBA method call), then a message is printed
before raising an UNKNOWN exception, but still without any traceback.
Would it be feasible to add logging of tracebacks for *all* unexpected
exceptions in up-calls?
[ It seems to me that it could be implemented in omniORBpy by modifying
the five pieces of code which call omniPy::produceSystemException so
that they pass the unexpected exception+traceback to that function,
which could then log the traceback before producing the SystemException ]
Kind Regards,
Luke.
More information about the omniORB-list
mailing list