【发布时间】:2013-04-30 11:54:57
【问题描述】:
dofile("x/y/m.lua")
dofile("x/y/p.lua")
如果 m.lua 由于某些问题而失败,p.lua 将根本无法运行,请给我一些解决方案,即使第一个文件失败,我也可以运行这两个文件,并且两个文件都有日志
【问题讨论】:
标签: lua
dofile("x/y/m.lua")
dofile("x/y/p.lua")
如果 m.lua 由于某些问题而失败,p.lua 将根本无法运行,请给我一些解决方案,即使第一个文件失败,我也可以运行这两个文件,并且两个文件都有日志
【问题讨论】:
标签: 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")
【讨论】: