#include "ace/pre.h"
#include "ace/OS.h"
#include "ace/post.h"
Include dependency graph for CORBA_macros.h:
Defines | |
#define | ACE_TRY_ENV _ACE_CORBA_Environment_variable |
#define | ACE_ANY_EXCEPTION ex |
#define | ACE_CORBA_HAS_EXCEPTIONS |
#define | ACE_DECLARE_NEW_CORBA_ENV |
#define | ACE_ADOPT_CORBA_ENV(ENV) ACE_UNUSED_ARG(ENV) |
#define | ACE_CHECK |
#define | ACE_CHECK_RETURN(RETV) |
#define | ACE_THROW_INT(EXCEPTION) |
#define | ACE_THROW(EXCEPTION) |
#define | ACE_THROW_RETURN(EXCEPTION,RETV) |
#define | ACE_TRY |
#define | ACE_TRY_NEW_ENV |
#define | ACE_TRY_EX(LABEL) |
#define | ACE_TRY_CHECK |
#define | ACE_TRY_CHECK_EX(LABEL) |
#define | ACE_TRY_THROW(EXCEPTION) throw EXCEPTION |
#define | ACE_TRY_THROW_EX(EXCEPTION,LABEL) throw EXCEPTION |
#define | ACE_CATCH(EXCEPTION,VAR) |
#define | ACE_CATCHANY |
#define | ACE_CATCHALL |
#define | ACE_RE_THROW throw |
#define | ACE_RE_THROW_EX(LABEL) throw |
#define | ACE_ENDTRY |
#define | ACE_NEW_THROW_EX(POINTER,CONSTRUCTOR,EXCEPTION) |
#define | ACE_NEW_THROW(POINTER,CONSTRUCTOR,EXCEPTION) |
#define | ACE_NEW_THROW_RETURN(POINTER,CONSTRUCTOR,EXCEPTION,RET_VAL) |
#define | ACE_NEW_TRY_THROW(POINTER,CONSTRUCTOR,EXCEPTION) |
#define | ACE_GUARD_THROW_EX(MUTEX,OBJ,LOCK,EXCEPTION) |
#define | ACE_READ_GUARD_THROW_EX(MUTEX,OBJ,LOCK,EXCEPTION) |
#define | ACE_WRITE_GUARD_THROW_EX(MUTEX,OBJ,LOCK,EXCEPTION) |
#define | ACE_GUARD_THROW(MUTEX,OBJ,LOCK,EXCEPTION) |
#define | ACE_GUARD_THROW_RETURN(MUTEX,OBJ,LOCK,EXCEPTION,RETURN) |
#define | ACE_PRINT_TAO_EXCEPTION(EX,INFO) |
#define | ACE_PRINT_EXCEPTION(EX,INFO) ACE_PRINT_TAO_EXCEPTION(EX,INFO) |
Writing code that is portable between platforms with or without native C++ exceptions is hard. The following macros offer some help on this task, mostly oriented to making the ORB code and the IDL generated code portable.
|
|
|
|
|
Initializer: \ } \ catch (EXCEPTION & VAR) \ { \ ACE_UNUSED_ARG (VAR); |
|
Initializer: \ } \ catch (...) \ { |
|
Initializer: \ ACE_CATCH(CORBA::Exception, ACE_ANY_EXCEPTION) |
|
|
|
|
|
|
|
Initializer: \ CORBA::Environment ACE_TRY_ENV |
|
Initializer: \ } \ } while (0) |
|
Initializer: \ ACE_Guard< MUTEX > OBJ (LOCK); \ if (OBJ.locked () == 0) TAO_THROW (EXCEPTION); |
|
Initializer: \ ACE_Guard< MUTEX > OBJ (LOCK); \ if (OBJ.locked () == 0) ACE_THROW_INT (EXCEPTION); |
|
Initializer: \ ACE_Guard< MUTEX > OBJ (LOCK); \ if (OBJ.locked () == 0) TAO_THROW_RETURN (EXCEPTION, RETURN); |
|
Initializer: \ do { POINTER = new CONSTRUCTOR; \ if (POINTER == 0) { errno = ENOMEM; TAO_THROW (EXCEPTION); } \ } while (0) |
|
Initializer: \ do { POINTER = new CONSTRUCTOR; \ if (POINTER == 0) { errno = ENOMEM; ACE_THROW_INT (EXCEPTION); } \ } while (0) |
|
Initializer: \ do { POINTER = new CONSTRUCTOR; \ if (POINTER == 0)\ { errno = ENOMEM; TAO_THROW_RETURN (EXCEPTION,RET_VAL); } \ } while (0) |
|
Initializer: \ do { POINTER = new CONSTRUCTOR; \ if (POINTER == 0) { errno = ENOMEM; TAO_TRY_THROW (EXCEPTION); } \ } while (0) |
|
|
|
Initializer: \ EX._tao_print_exception (INFO) |
|
Initializer: \ ACE_Read_Guard< MUTEX > OBJ (LOCK); \ if (OBJ.locked () == 0) ACE_THROW_INT (EXCEPTION); |
|
|
|
|
|
Initializer: \ do { \ ACE_UNUSED_ARG(ACE_TRY_ENV); \ throw EXCEPTION; \ } while (0) |
|
Initializer: \ do { \ ACE_UNUSED_ARG(ACE_TRY_ENV); \ throw EXCEPTION; \ } while (0) |
|
Initializer: \ do { \ ACE_UNUSED_ARG(ACE_TRY_ENV); \ throw EXCEPTION; \ } while (0) |
|
Initializer: \ do \ { \ try \ { |
|
|
|
|
|
|
|
Initializer: \ do \ { \ try \ { |
|
Initializer: \ do \ { \ CORBA::Environment ACE_TRY_ENV; \ try \ { |
|
|
|
|
|
Initializer: \ ACE_Write_Guard< MUTEX > OBJ (LOCK); \ if (OBJ.locked () == 0) ACE_THROW_INT (EXCEPTION); |