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)
|
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;
|
std::ostringstream error_stream;
|
||||||
error_stream << error_msg;
|
error_stream << error_msg;
|
||||||
throw osrm::exception("ERROR occured in profile script:\n" + error_stream.str());
|
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
|
int lua_error_callback(lua_State *L) // This is so I can use my own function as an
|
||||||
// exception handler, pcall_log()
|
// 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;
|
std::ostringstream error_stream;
|
||||||
error_stream << error_msg;
|
error_stream << error_msg;
|
||||||
throw osrm::exception("ERROR occured in profile script:\n" + error_stream.str());
|
throw osrm::exception("ERROR occured in profile script:\n" + error_stream.str());
|
||||||
|
Loading…
Reference in New Issue
Block a user