Next: Internals packages, 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.