【问题标题】:How to run multiple lua scripts through a single lua script even if one script fails即使一个脚本失败,如何通过单个 lua 脚本运行多个 lua 脚本
【发布时间】:2013-04-30 11:54:57
【问题描述】:

dofile("x/y/m.lua")

dofile("x/y/p.lua")

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

【问题讨论】:

    标签: lua


    【解决方案1】:

    试试

    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
    

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2017-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-19
        • 2019-01-31
        • 1970-01-01
        • 2013-09-25
        • 2012-12-21
        相关资源
        最近更新 更多