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)();
 }
 
 //---------------------------------------------------------------------------