diff --git a/muparser-2.2.5/include/muParserTest.h b/muparser-2.2.5/include/muParserTest.h index 71607d44c..6ad628839 100644 --- a/muparser-2.2.5/include/muParserTest.h +++ b/muparser-2.2.5/include/muParserTest.h @@ -95,21 +95,18 @@ class ParserTester // final static ValueOrError land(value_type v1, value_type v2) { return (int)v1 & (int)v2; } static ValueOrError FirstArg(const value_type* a_afArg, int a_iArgc) { - if (!a_iArgc) - throw mu::Parser::exception_type(_T("too few arguments for function FirstArg.")); - + if (!a_iArgc) return ParserError(_T("too few arguments for function FirstArg.")); return a_afArg[0]; } static ValueOrError LastArg(const value_type* a_afArg, int a_iArgc) { - if (!a_iArgc) - throw mu::Parser::exception_type(_T("too few arguments for function LastArg.")); + if (!a_iArgc) return ParserError(_T("too few arguments for function LastArg.")); return a_afArg[a_iArgc - 1]; } static ValueOrError Sum(const value_type* a_afArg, int a_iArgc) { - if (!a_iArgc) throw mu::Parser::exception_type(_T("too few arguments for function sum.")); + if (!a_iArgc) return ParserError(_T("too few arguments for function sum.")); value_type fRes = 0; for (int i = 0; i < a_iArgc; ++i) fRes += a_afArg[i]; diff --git a/muparser-2.2.5/include/muParserToken.h b/muparser-2.2.5/include/muParserToken.h index aeb5397ed..acfa0ff71 100644 --- a/muparser-2.2.5/include/muParserToken.h +++ b/muparser-2.2.5/include/muParserToken.h @@ -288,7 +288,7 @@ class ParserToken { } //------------------------------------------------------------------------------ - /** \biref Get value of the token. + /** \brifef Get value of the token. Only applicable to variable and value tokens. */ @@ -299,7 +299,7 @@ class ParserToken { case cmVAR: return *((TBase *)m_pTok); default: - throw ParserError(ecVAL_EXPECTED); + return ParserError(ecVAL_EXPECTED); } } diff --git a/muparser-2.2.5/src/muParserBase.cpp b/muparser-2.2.5/src/muParserBase.cpp index a10e49f8c..6cf060679 100644 --- a/muparser-2.2.5/src/muParserBase.cpp +++ b/muparser-2.2.5/src/muParserBase.cpp @@ -1250,15 +1250,10 @@ OptionalError ParserBase::CreateRPN() const { uses bytecode instead of string parsing. */ ValueOrError ParserBase::ParseString() const { - try { - OptionalError oerr = CreateRPN(); - if (oerr.has_error()) return oerr.error(); - m_pParseFormula = &ParserBase::ParseCmdCode; - return (this->*m_pParseFormula)(); - } catch (ParserError &exc) { - exc.SetFormula(m_pTokenReader->GetExpr()); - throw; - } + OptionalError oerr = CreateRPN(); + if (oerr.has_error()) return oerr.error(); + m_pParseFormula = &ParserBase::ParseCmdCode; + return (this->*m_pParseFormula)(); } //---------------------------------------------------------------------------