mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-05-29 10:31:14 -03:00
[muparser] Convert more exception handling into explicit errors
This commit is contained in:
@@ -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];
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user