Merge branch 'release-5.x' into develop
This commit is contained in:
commit
8b18e301d2
@ -977,14 +977,21 @@ namespace chaiscript
|
|||||||
|
|
||||||
This_Foist fi(*this, l_params.front());
|
This_Foist fi(*this, l_params.front());
|
||||||
|
|
||||||
auto func = boxed_cast<const dispatch::Proxy_Function_Base *>(bv);
|
|
||||||
try {
|
try {
|
||||||
return (*func)({l_params.begin() + l_num_params, l_params.end()}, l_conversions);
|
auto func = boxed_cast<const dispatch::Proxy_Function_Base *>(bv);
|
||||||
|
try {
|
||||||
|
return (*func)({l_params.begin() + l_num_params, l_params.end()}, l_conversions);
|
||||||
|
} catch (const chaiscript::exception::bad_boxed_cast &) {
|
||||||
|
} catch (const chaiscript::exception::arity_error &) {
|
||||||
|
} catch (const chaiscript::exception::guard_error &) {
|
||||||
|
}
|
||||||
|
throw chaiscript::exception::dispatch_error({l_params.begin() + l_num_params, l_params.end()},
|
||||||
|
std::vector<Const_Proxy_Function>{boxed_cast<Const_Proxy_Function>(bv)});
|
||||||
} catch (const chaiscript::exception::bad_boxed_cast &) {
|
} catch (const chaiscript::exception::bad_boxed_cast &) {
|
||||||
} catch (const chaiscript::exception::arity_error &) {
|
// unable to convert bv into a Proxy_Function_Base
|
||||||
} catch (const chaiscript::exception::guard_error &) {
|
throw chaiscript::exception::dispatch_error({l_params.begin() + l_num_params, l_params.end()},
|
||||||
|
std::vector<Const_Proxy_Function>(l_funs.begin(), l_funs.end()));
|
||||||
}
|
}
|
||||||
throw chaiscript::exception::dispatch_error({l_params.begin() + l_num_params, l_params.end()}, std::vector<Const_Proxy_Function>{boxed_cast<Const_Proxy_Function>(bv)});
|
|
||||||
} else {
|
} else {
|
||||||
return bv;
|
return bv;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user