class API CLS: public BASE \
{ \
public: \
CLS(); \
CLS(const std::string& msg); \
CLS(const std::string& msg, const Data::RawData::SharedPtr& a_pRawData); \
CLS(const std::string& msg, const std::string& arg, const Data::RawData::SharedPtr& a_pRawData); \
CLS(const std::string& msg, const Exception& exc); \
CLS(const CLS& exc); \
virtual ~CLS() throw(); \
CLS& operator = (const CLS& exc); \
const char* name() const throw(); \
const char* className() const throw(); \
Exception* clone() const; \
void rethrow() const; \
};