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.")
54 (
const string& errorMsg,
const char* file,
unsigned int lineNumber);
57 template<
class Exception>
59 throw Exception(
"ERROR: " + errorMsg +
'\n');
63 #define DEFINE_EXCEPTION(NAME) \
64 class NAME##Exception : public FrobbyException { \
66 NAME##Exception(const string& str): FrobbyException(str) {} \
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)