Next: , Previous: Mapping of exceptions, Up: Implementation Notes


6.8.7 Additional information to CORBA::Unknown

When a CORBA application raises an Ada exception that is not part of the IDL specifications, nor defined by the CORBA specifications, then this exception is translated into a CORBA::UNKNOWN exception.

To help debugging CORBA applications, PolyORB supports a specific service context to the GIOP protocol personality that conveys exception information. When displaying exception information, server-side specific exception information is delimited by “<Invocation Exception Info: ...>”

Here is an example from the all_types example provided by PolyORB.

     Exception name: CORBA.UNKNOWN
     Message: 4F4D0001M
     <Invocation Exception Info: Exception name: CONSTRAINT_ERROR
     Message: all_types-impl.adb:315 explicit raise
     Call stack traceback locations:
     0x84d279c 0x84c1e78 0x84b92c6 0x84b8e9>
     Call stack traceback locations:
     0x81d0425 0x81d0554 0x81d6d8c 0x81fd02b 0x81fc091 0x82eea12 0x83e4c22 0x807b69a 0xb7a15e3e

Note that call stack tracebacks can be translated into symbolic form using the addr2line utility that comes with GNAT.