CCAFFEINE
0.8.8
|
00001 #ifdef _USE_EXJC 00002 # error NO_NO_NO_NO_NO_ 00003 // this file goes away unless you define _USE_EXJC during migration. 00004 // never develop new code based on this header. 00005 #ifndef ExceptionJC_h_seen 00006 #define ExceptionJC_h_seen 00007 00013 #ifdef _CXX_STD_EXCEPTIONS 00014 00015 #define BDeclExceptionJC(ae) \ 00016 class ae : public virtual ExceptionJC { \ 00017 public: \ 00018 ae(); \ 00019 ae(char *why); \ 00020 virtual ~ae(); \ 00021 virtual char *kind(); \ 00022 virtual char *why(); \ 00023 private: char *jwhat; \ 00024 } 00025 00026 #else 00027 00028 #define BDeclExceptionJC(ae) \ 00029 class ae : public virtual ExceptionJC { \ 00030 public: \ 00031 ae(); \ 00032 ae(char *why); \ 00033 virtual ~ae(); \ 00034 virtual char *kind(); \ 00035 virtual char *why(); \ 00036 virtual char *what() ; \ 00037 private: char *jwhat; \ 00038 } 00039 00040 #endif //_CXX_STD_EXCEPTIONS 00041 00042 // pick one of the following with -D_CXX_STD_EXCEPTIONS throughout build 00043 #ifdef _CXX_STD_EXCEPTIONS 00044 00045 class ExceptionJC : public exception { 00046 #else 00047 00048 class ExceptionJC { 00049 #endif 00050 00051 public: 00052 00057 ExceptionJC(char *why) ; 00058 00059 00063 ExceptionJC() ; 00064 00066 virtual ~ExceptionJC() ; 00067 00069 virtual char *kind() ; 00070 00072 virtual char *why() ; 00073 00074 #ifndef _CXX_STD_EXCEPTIONS 00075 00076 virtual char *what() ; 00077 #endif 00078 00080 static void checkDynamicCast(void *p, char *fi, int line); 00081 00082 private: 00083 char *jwhat; 00084 00085 #ifdef _CXX_STD_EXCEPTIONS 00086 // this ifdef to keep doc++ happy about {} count 00087 }; 00088 #else 00089 }; 00090 #endif 00091 00095 BDeclExceptionJC(NullPointerExceptionJC); 00096 00097 BDeclExceptionJC(ClassNotFoundExceptionJC); 00098 00099 BDeclExceptionJC(ConnectionVetoExceptionJC); 00100 00101 BDeclExceptionJC(EOFExceptionJC); 00102 00103 BDeclExceptionJC(IllegalAccessExceptionJC); 00104 00105 BDeclExceptionJC(InstantiationExceptionJC); 00106 00107 BDeclExceptionJC(IOExceptionJC); 00108 00109 BDeclExceptionJC(RuntimeExceptionJC); 00110 00111 #define CHECKDC(p) ExceptionJC::checkDynamicCast(p,__FILE__,__LINE__) 00112 00113 00114 #endif //ExceptionJC_h_seen 00115 #else 00116 # 00117 # error NO_NO_NO_NO_NO_ 00118 #errprint("m4: ExceptionJC.h seen: fatal error.") 00119 #exit(1) 00120 #endif