forked from daneos/lutango
improve error handling
This commit is contained in:
parent
69143b963b
commit
152734b329
@ -3,12 +3,15 @@
|
||||
int lut_DevFailed(lua_State* L, Tango::DevFailed e, const char* source)
|
||||
{
|
||||
int nerr = e.errors.length();
|
||||
lua_createtable(L, nerr, 1);
|
||||
lua_createtable(L, nerr, 2);
|
||||
int top = lua_gettop(L);
|
||||
|
||||
lua_pushstring(L, source);
|
||||
lua_setfield(L, -2, "source");
|
||||
|
||||
lua_pushboolean(L, true);
|
||||
lua_setfield(L, -2, "is_DevFailed");
|
||||
|
||||
for(int i = 0; i < nerr; i++)
|
||||
{
|
||||
lua_pushnumber(L, i+1);
|
||||
|
||||
@ -35,7 +35,6 @@ int cmd_wrapper(lua_State* L);
|
||||
int lut_DeviceProxy_status(lua_State* L);
|
||||
int lut_DeviceProxy_get_attribute_list(lua_State* L);
|
||||
int lut_DeviceProxy_get_command_list(lua_State* L);
|
||||
int lut_DeviceProxy_command_wrapper(lua_State* L);
|
||||
|
||||
// Lua API
|
||||
void lut_lua_register_DeviceProxy(lua_State* L);
|
||||
|
||||
16
src/try.lua
16
src/try.lua
@ -2,12 +2,16 @@ local log = require "lutango.lutLog"
|
||||
|
||||
local function default_handler(e)
|
||||
io.stderr:write("\n=================================== EXCEPTION ===================================\n")
|
||||
io.stderr:write("Tango Error Stack:\t"..e.source.."\n")
|
||||
for i,v in ipairs(e) do
|
||||
io.stderr:write("\t"..i..":\n")
|
||||
io.stderr:write("\t\t"..v.severity.."\t\t"..v.reason.."\n")
|
||||
io.stderr:write("\t\t"..v.desc.."\n")
|
||||
io.stderr:write("\t\t"..v.origin.."\n\n")
|
||||
if e.is_DevFailed then
|
||||
io.stderr:write("Tango Error Stack:\t"..e.source.."\n")
|
||||
for i,v in ipairs(e) do
|
||||
io.stderr:write("\t"..i..":\n")
|
||||
io.stderr:write("\t\t"..v.severity.."\t\t"..v.reason.."\n")
|
||||
io.stderr:write("\t\t"..v.desc.."\n")
|
||||
io.stderr:write("\t\t"..v.origin.."\n\n")
|
||||
end
|
||||
else
|
||||
io.stderr:write(tostring(e))
|
||||
end
|
||||
io.stderr:write(debug.traceback("", 6))
|
||||
io.stderr:write("\n=================================================================================\n\n")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user