local function f(x, y) print("f args: ", x, y) error("f error") -- raise error end -- 1 local function error_handler(err) print(err) return debug.traceback() end local ok, errmsg = xpcall(f, error_handler, 1, 2) if not ok then print(errmsg) end -- 2 local ok, errmsg = xpcall(f, debug.traceback, 1, 2) if not ok then print(errmsg) end