检测Lua上的文件打开错误

时间:2014-02-10 15:20:01

标签: lua

我在iOS上使用Lua并且我在使用io.open("filename.txt","w")打开文件时遇到问题,我知道我收到的是nil,但有没有办法检测失败原因并尝试解决根据那个?类似于错误的C?

1 个答案:

答案 0 :(得分:7)

来自documentation

  

io.open (filename [, mode])

     

此函数在字符串模式中指定的mode中打开一个文件。它返回一个新的文件句柄,或者,如果有错误, nil 加上错误信息。

使用函数返回的第二个值的示例用法如下:

local f, err = io.open("filename.txt", "w")
if f then
    -- do something with f
else
    print("Error opening file: " .. err)
end

例如,如果进程没有打开文件的权限,则会打印出以下消息:

  

打开文件时出错:filename.txt:Permission denied