[Ace-users] [tao-bugs] How does DII report a user exception?

Hans Utz hans.utz at nasa.gov
Fri Feb 1 17:24:17 CST 2008


     TAO VERSION: 1.6.2
     ACE VERSION: 5.6.2

     HOST MACHINE and OPERATING SYSTEM: Linux RH Workstation 5
     COMPILER NAME AND VERSION (AND PATCHLEVEL): gcc (GCC) 4.1.2

     THE $ACE_ROOT/ace/config.h: config-linux.h
     THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE:
       platform_linux.GNU
     AREA/CLASS/EXAMPLE AFFECTED: DII

     DOES THE PROBLEM AFFECT: EXECUTION

     SYNOPSIS: How does DII report a user exception?

     DESCRIPTION:

When a DII generated Request returns with an exception (from the list 
ofspecified exceptions), a UnknownUserException is thrown by invoke(). I 
don't know if this is correct or not, the standard is not very verbose 
of that issue...

Any example code I found uses the env() call, to query exceptions, but 
this was deprecated in TAO a while ago. - So how can I actually retrieve 
the exception thrown by the servant?

     RELATED:

The Any holding return values for a DII invoke() call, contains tk_void 
for methods returning void. APCP states in 16.3.1, that tk_void can 
never appear as part of an any. - Well, I guess it makes perfect sense 
in this case for the Any to hold tk_void. - But is this allowed by the 
standard (and therefore portable)? And if so, how do I put a tk_void 
into an any?


Thanks,
Hans



More information about the Ace-users mailing list