00001
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #include <stdlib.h>
00036 #include <string.h>
00037 #include <orbit/orbit.h>
00038 #include "sensix.h"
00039 #include "sense_impl.h"
00040
00041
00042 bool_t raised_exception(CORBA_Environment *ev)
00043 {
00044 return ((ev)->_major != CORBA_NO_EXCEPTION);
00045 }
00046
00047
00048 bool_t raised_exception_is_a(CORBA_Environment *ev, CORBA_char* id)
00049 {
00050 return ((ev)->_major != CORBA_NO_EXCEPTION) &&
00051 strcmp(id, CORBA_exception_id(ev)) == 0;
00052 }
00053
00054
00055 void abort_if_exception(CORBA_Environment *ev, const char* mesg)
00056 {
00057 if (raised_exception(ev)) {
00058 log_error("%s: %s - %s\n", APP, mesg, CORBA_exception_id(ev));
00059 CORBA_exception_free(ev);
00060 abort();
00061 }
00062 }