00001 #ifdef _USE_EXJC
00002 # error NO_NO_NO_NO_NO_
00003
00004
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
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
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__)
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