dofile处理( “X / Y / m.lua”)
dofile处理( “X / Y / p.lua”)
如果m.lua由于某些问题而失败,p.lua根本不会运行,请给我一些解决方案,我可以运行这两个文件,即使第一个文件失败并且有两个日志
答案 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")