void throw_exception (const char * place, const int errcode, const char * errtext) { #if defined (DESTRUCTORS_EXCEPTIONS_ALLOWED) const bool can_throw = true; #else const bool can_throw = !fromDestructor; #endif if (can_throw) { char msgText [ 256 ]; sprintf (msgText, "%d: '%s' in %s", errcode, errtext, place); throw ExceptionType (msgText); } }
static bool matches( parser_state &, State & ) { throw ExceptionType(); }