我是lua的新手. 我试过用 http://keplerproject.github.io/luafilesystem/examples.html 并且它在无法访问的目录上引发错误. 这似乎是由luaL_error https://github.com/keplerproject/luafilesystem/blob/master/src/lfs.c#L56
我试过用
http://keplerproject.github.io/luafilesystem/examples.html
并且它在无法访问的目录上引发错误.
这似乎是由luaL_error https://github.com/keplerproject/luafilesystem/blob/master/src/lfs.c#L563引起的
我怎么能抓到这个错误?
http://www.tutorialspoint.com/lua/lua_error_handling.htm
建议pcall,但这不会阻止脚本死亡:
pcall(lfs.dir('/etc/passwd')) #this fails to handle the not a directory errorpcall(lfs.dir(‘/ etc / passwd’))失败,因为错误是在pcall之外触发的(当计算pcall的参数时).你需要使用
local ok, res = pcall(lfs.dir, '/etc/passwd')
请注意,传递给lfs.dir的参数是给pcall的,而不是lfs.dir.