CCAFFEINE  0.8.8
ExceptionJC.h
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