Return error message when lua error occurs.
The error may not be the first item in the stack while we're inside the error handler. ::from_stack() works OK outside the error callback, but not inside.
This commit is contained in:
parent
8b8188710e
commit
eab87c0827
@ -44,7 +44,7 @@ namespace
|
||||
{
|
||||
int lua_error_callback(lua_State *lua_state)
|
||||
{
|
||||
luabind::object error_msg(luabind::from_stack(lua_state, -1));
|
||||
std::string error_msg = lua_tostring(lua_state, -1);
|
||||
std::ostringstream error_stream;
|
||||
error_stream << error_msg;
|
||||
throw osrm::exception("ERROR occured in profile script:\n" + error_stream.str());
|
||||
|
@ -53,7 +53,7 @@ auto get_value_by_key(T const &object, const char *key) -> decltype(object.get_v
|
||||
int lua_error_callback(lua_State *L) // This is so I can use my own function as an
|
||||
// exception handler, pcall_log()
|
||||
{
|
||||
luabind::object error_msg(luabind::from_stack(L, -1));
|
||||
std::string error_msg = lua_tostring(L, -1);
|
||||
std::ostringstream error_stream;
|
||||
error_stream << error_msg;
|
||||
throw osrm::exception("ERROR occured in profile script:\n" + error_stream.str());
|
||||
|
Loading…
Reference in New Issue
Block a user