on this website there example on how use xpcall on function without parameters. how can use xpcall on function this:
function add (a, b)   return + b end   and should return value. attempt (does not work, get: false, error in error handling, nil):
function f (a,b)   return + b end  function err (x)   print ("err called", x)   return "oh no!" end  status, err, ret = xpcall (f, 1,2, err)  print (status) print (err) print (ret)      
if using lua 5.1 believe need wrap desired function call in function (that takes no arguments) , use in call xpcall.
local function f (a,b)   return + b end  local function err (x)   print ("err called", x)   return "oh no!" end  local function pcallfun()     return f(1,2) end  status, err, ret = xpcall (pcallfun, err)  print (status) print (err) print (ret)   in lua 5.2 , 5.3 xpcall accepts function arguments directly:
xpcall (f, msgh [, arg1, ···])this function similar
pcall, except sets new message handlermsgh.
so call be:
status, err, ret = xpcall (f, err, 1, 2)   in sample code.
Comments
Post a Comment