2016-06-19 33 views
4

私はluaを初めて使っています。Luaエラー処理

私は http://keplerproject.github.io/luafilesystem/examples.html を使用しようとしました。アクセスできないディレクトリにはエラーが発生します。

これはどのように私はこのエラーをキャッチすることができhttps://github.com/keplerproject/luafilesystem/blob/master/src/lfs.c#L563

によって引き起こされるとluaL_error見えますか? http://www.tutorialspoint.com/lua/lua_error_handling.htm pcallことを示唆している、しかしそれは死んでからスクリプトを停止しません:エラーが(PCALLのパラメータが計算される)pcallの外にトリガーされるので

pcall(lfs.dir('/etc/passwd')) #this fails to handle the not a directory error 

答えて

5

pcall(lfs.dir('/etc/passwd'))は失敗します。あなたはlfs.dirに渡されたパラメータがないlfs.dirに、pcallに与えられていることを

local ok, res = pcall(lfs.dir, '/etc/passwd') 

注意を使用する必要があります。