Certo, per esempio potresti farla derivata da std::exception, in modo che possa essere gestita anche un generico:
Un esempio:codice:catch(std::exception& )
codice:class MyException : public std::exception { public: MyException(std::string s) { error = s; } ~MyException() throw() {} virtual const char * what() const throw() { return error.c_str(); } private: std::string error; };