42#define INTERNAL_ERROR(msg) \
44 reportInternalError(msg, __FILE__, __LINE__); \
47#define INTERNAL_ERROR_UNIMPLEMENTED() \
48 INTERNAL_ERROR("Called function that has not been implemented.")
57template<
class Exception>
63#define DEFINE_EXCEPTION(NAME) \
64 class NAME##Exception : public FrobbyException { \
66 NAME##Exception(const string& str): FrobbyException(str) {} \
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
This is the base of the Frobby exception hierarchy for exceptions that can occur due to expected erro...
FrobbyException(const string &str)
This exception signals that a bug in Frobby has been detected.
InternalFrobbyException(const string &str)
This class offers an input interface which is more convenient and for some purposes more efficient th...
void reportInternalError(const string &errorMsg)
void reportSyntaxError(const Scanner &scanner, const string &errorMsg)
void throwError(const string &errorMsg)
void reportError(const string &errorMsg)
#define DEFINE_EXCEPTION(NAME)