From 79303cf5227bb21c203daa130c73cc28702cdf8e Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Wed, 5 Sep 2012 23:05:21 -0700 Subject: Better error handling on luaexeccells, so they can trigger their main co-routines. Also better display of said errors. --- src/BLua.cc | 6 +++--- src/LuaTask.cc | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/BLua.cc b/src/BLua.cc index 4c52c7c..e9df8b7 100644 --- a/src/BLua.cc +++ b/src/BLua.cc @@ -759,7 +759,7 @@ void Balau::Lua::showstack(int level) { String t; if (n == 0) { - Printer::log(level, "Stack empty\n"); + Printer::log(level, "Stack empty"); return; } @@ -790,12 +790,12 @@ void Balau::Lua::showstack(int level) { t = "Unknown"; } - Printer::log(level, String(i) + ": " + t + "\n"); + Printer::log(level, String(i) + ": " + t); } } void Balau::Lua::showerror() { - Printer::log(M_ERROR, "Lua object: Got an LUA error, inspecting stack.\n"); + Printer::log(M_ERROR, "Lua object: Got an LUA error, inspecting stack."); showstack(M_ERROR); } diff --git a/src/LuaTask.cc b/src/LuaTask.cc index 7e0b256..12d4435 100644 --- a/src/LuaTask.cc +++ b/src/LuaTask.cc @@ -57,7 +57,12 @@ void Balau::LuaMainTask::Do() { } void Balau::LuaTask::Do() { - m_cell->run(L); + try { + m_cell->run(L); + } + catch (...) { + m_cell->setError(); + } if (m_cell->m_detached) delete m_cell; else -- cgit v1.2.3