dofile("x/y/m.lua")
dofile("x/y/p.lua")
如果 m.lua 由于某些问题而失败,p.lua 将根本无法运行,请给我一些解决方案,即使第一个文件失败,我也可以运行这两个文件并且两个文件都有日志
dofile("x/y/m.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
为 false,则函数失败,错误消息将在result
. 如果success
为真,则返回值dofile
将在result
. 您可以添加其他result
变量。例如:
local success, result1, result2, result3 = pcall(dofile, "foo.lua")