00001
00002
00003
00004
00005
00006
00007
00008
00009
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
00036 #ifndef _ErrorHandlerMacros_H_
00037 #define _ErrorHandlerMacros_H_
00038
00039
00040 #define DbgPrint(METHOD,FORMAT,DATA) \
00041 { \
00042 char aTmpBuff[MAX_PATH]; \
00043 sprintf(aTmpBuff,"Class: %s Method %s ",GetClassName().c_str(),METHOD,FORMAT,DATA); \
00044 WriteMessage(aTmpBuff); \
00045 }
00046
00047
00048 #define DbgError(METHOD,FORMAT,DATA) \
00049 { \
00050 char aTmpBuff[MAX_PATH]; \
00051 sprintf(aTmpBuff,"Class: %s Method %s ",GetClassName().c_str(),METHOD,FORMAT,DATA); \
00052 WriteError(aTmpBuff); \
00053 }
00054
00055
00056 #define DbgPrintS(CLS,METHOD,FORMAT,DATA) \
00057 { \
00058 char aTmpBuff[MAX_PATH]; \
00059 sprintf(aTmpBuff,"Class: %s Method %s ",CLS,METHOD,FORMAT,DATA); \
00060 WriteMessage(aTmpBuff); \
00061 }
00062
00063
00064 #define DbgErrorS(CLS,METHOD,FORMAT,DATA) \
00065 { \
00066 char aTmpBuff[MAX_PATH]; \
00067 sprintf(aTmpBuff,"Class: %s Method %s ",CLS,METHOD,FORMAT,DATA); \
00068 WriteError(aTmpBuff); \
00069 }
00070
00071 #ifndef ERROR_HANDLER
00072 #define ERROR_HANDLER(METHOD_NAME) \
00073 catch (...)\
00074 {\
00075 \
00076 ReportError(METHOD_NAME);\
00077 }
00078 #endif
00079
00080 #ifndef ERROR_HANDLER_RETURN
00081 #define ERROR_HANDLER_RETURN(METHOD_NAME,RETURN_VALUE) \
00082 catch (...)\
00083 {\
00084 \
00085 ReportError(METHOD_NAME);\
00086 return RETURN_VALUE;\
00087 }
00088 #endif
00089
00090
00091 #ifndef ERROR_HANDLER_STATIC
00092 #define ERROR_HANDLER_STATIC(CLASS_NAME,METHOD_NAME) \
00093 catch (...)\
00094 {\
00095 \
00096 CErrorHandler::ReportStaticError(CLASS_NAME,METHOD_NAME);\
00097 }
00098 #endif
00099
00100 #ifndef ERROR_HANDLER_STATIC_RETURN
00101 #define ERROR_HANDLER_STATIC_RETURN(CLASS_NAME,METHOD_NAME,RETURN_VALUE) \
00102 catch (...)\
00103 {\
00104 \
00105 CErrorHandler::ReportStaticError(CLASS_NAME,METHOD_NAME);\
00106 return RETURN_VALUE;\
00107 }
00108 #endif
00109
00110
00111 #ifndef ERROR_UNKNOWN
00112 #define ERROR_UNKNOWN(METHOD_NAME) \
00113 catch (...)\
00114 {\
00115 \
00116 assert(0);\
00117 }
00118 #endif
00119
00120
00121 #ifndef ERROR_UNKNOWN_RETURN
00122 #define ERROR_UNKNOWN_RETURN(METHOD_NAME,RETURN_VALUE) \
00123 catch (...)\
00124 {\
00125 \
00126 assert(0);\
00127 return RETURN_VALUE;\
00128 }
00129 #endif
00130
00131
00132 #ifndef ERROR_HANDLER_RETHROW
00133 #define ERROR_HANDLER_RETHROW(METHOD_NAME) \
00134 catch (...)\
00135 {\
00136 \
00137 ReportError(METHOD_NAME);\
00138 throw;\
00139 }
00140 #endif
00141
00142
00143 #ifndef ERROR_HANDLER_STATIC_RETHROW
00144 #define ERROR_HANDLER_STATIC_RETHROW(CLASS_NAME,METHOD_NAME) \
00145 catch (...)\
00146 {\
00147 \
00148 CErrorHandler::ReportStaticError(CLASS_NAME,METHOD_NAME);\
00149 throw;\
00150 }
00151 #endif
00152
00153
00154
00155 #ifndef ERROR_UNKNOWN_RETHROW
00156 #define ERROR_UNKNOWN_RETHROW(METHOD_NAME) \
00157 catch (...)\
00158 {\
00159 \
00160 assert(0);\
00161 throw;\
00162 }
00163 #endif
00164
00165 #endif