00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _ACTIVEMQ_EXCEPTIONS_EXCEPTIONDEFINES_H_
00018 #define _ACTIVEMQ_EXCEPTIONS_EXCEPTIONDEFINES_H_
00019
00026 #define AMQ_CATCH_RETHROW( type ) \
00027 catch( type& ex ){ \
00028 ex.setMark( __FILE__, __LINE__ ); \
00029 throw; \
00030 }
00031
00038 #define AMQ_CATCH_EXCEPTION_CONVERT( sourceType, targetType ) \
00039 catch( sourceType& ex ){ \
00040 targetType target( ex ); \
00041 target.setMark( __FILE__, __LINE__ ); \
00042 throw target; \
00043 }
00044
00049 #define AMQ_CATCHALL_THROW( type ) \
00050 catch( ... ){ \
00051 type ex( __FILE__, __LINE__, \
00052 "caught unknown exception" ); \
00053 throw ex; \
00054 }
00055
00061 #define AMQ_CATCHALL_NOTHROW( ) \
00062 catch( ... ){ \
00063 activemq::exceptions::ActiveMQException ex( __FILE__, __LINE__, \
00064 "caught unknown exception, not rethrowing" ); \
00065 }
00066
00073 #define AMQ_CATCH_NOTHROW( type ) \
00074 catch( type& ex ){ \
00075 ex.setMark( __FILE__, __LINE__ ); \
00076 }
00077
00078
00079 #endif