dofile处理( “X/Y/m.lua”)如何通过一个单一的LUA脚本运行多个Lua脚本即使一个脚本失败
dofile处理( “X/Y/p.lua”)
如果m.lua由于某种问题,p.lua将不会运行在所有的,请给我一些决议,我可以运行,即使第一个失败,这两个文件,并有日志都
dofile处理( “X/Y/m.lua”)如何通过一个单一的LUA脚本运行多个Lua脚本即使一个脚本失败
dofile处理( “X/Y/p.lua”)
如果m.lua由于某种问题,p.lua将不会运行在所有的,请给我一些决议,我可以运行,即使第一个失败,这两个文件,并有日志都
尝试
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
使用pcall至赶上Lua的错误,可能是这样的:
local success, result = pcall(dofile, "foo.lua")
如果success
是假的,功能失败,错误信息将在result
。如果success
为真,dofile
的返回值将在result
之内。您可以添加其他result
变量。例如:
local success, result1, result2, result3 = pcall(dofile, "foo.lua")