如何通过单个lua脚本运行多个lua脚本,即使一个脚本失败也是如此

时间:2013-04-30 11:54:58

标签: lua

dofile处理( “X / Y / m.lua”)

dofile处理( “X / Y / p.lua”)

如果m.lua由于某些问题而失败,p.lua根本不会运行,请给我一些解决方案,我可以运行这两个文件,即使第一个文件失败并且有两个日志

2 个答案:

答案 0 :(得分:0)

尝试

function dofile(name)
  local f,err=loadfile(name)
  if f==nil then print(err) end
  local ok,err=pcall(f)
  if not ok then print(err) end
end

答案 1 :(得分:0)

使用pcall来捕获Lua错误,可能是这样的:

local success, result = pcall(dofile, "foo.lua")

如果success为false,则函数失败,错误消息将在result中。如果success为真,则dofile的返回值将在result中。您可以添加其他result个变量。例如:

local success, result1, result2, result3 = pcall(dofile, "foo.lua")