[muparser] Convert more exception handling into explicit errors

This commit is contained in:
ridiculousfish
2017-12-16 14:10:45 -08:00
parent d3822e4cb3
commit 6f14d55612
3 changed files with 9 additions and 17 deletions

View File

@@ -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];

View File

@@ -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);
}
}