Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dll 从C启动lua时,如何处理lua中的lua_error()_Dll_Lua - Fatal编程技术网

Dll 从C启动lua时,如何处理lua中的lua_error()

Dll 从C启动lua时,如何处理lua中的lua_error(),dll,lua,Dll,Lua,我有一个加载到Lua中的C DLL。当出现错误时,DLL将调用lua_error。在Lua中,我得到一个带有错误描述的消息框。我有没有办法处理得更好?在Lua方面进行某种尝试/捕获或其他操作?它的处理方式与Lua脚本调用错误时的处理方式没有什么不同。如果您想调用可能会发出Lua错误的函数(无论是C/C++还是Lua),并且您想处理错误条件而不是停止,那么您应该使用pcall来调用该函数。实际上,这似乎不起作用,或者是我做错了。我有:如果pcalldb:nrowsSELECT*来自test1,那么

我有一个加载到Lua中的C DLL。当出现错误时,DLL将调用lua_error。在Lua中,我得到一个带有错误描述的消息框。我有没有办法处理得更好?在Lua方面进行某种尝试/捕获或其他操作?

它的处理方式与Lua脚本调用错误时的处理方式没有什么不同。如果您想调用可能会发出Lua错误的函数(无论是C/C++还是Lua),并且您想处理错误条件而不是停止,那么您应该使用pcall来调用该函数。

实际上,这似乎不起作用,或者是我做错了。我有:如果pcalldb:nrowsSELECT*来自test1,那么NotifyNo error-else Notifyerror-end根据以上内容,我从来自DLL的db:nrows中获取错误。我本来希望收到错误消息,但我收到了来自DLL的错误消息。注意,我使用的是LuaJIT,但我认为这无关紧要。@user441521:这不是使用pcall的方式。pcall的正确方法如下:pcalldb.nrows,db,从test1中选择*。我们传递要调用db.nros的函数,后跟其参数。请记住:x:y语法与x.yx相同,因此第一个参数是db。第二个是SQL字符串。