检测Lua上的文件打开错误

Hol*_*dad 3 lua

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

Tim*_*per 8

文档:

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
Run Code Online (Sandbox Code Playgroud)

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

打开文件时出错:filename.txt:权限被拒绝