我想用LuaJava从Java调用一个简单的Lua函数。 calc.lua:LuaJava错误处理中的错误
function foo(n) return n*2 end
这就是所有存在calc.lua和命令行工作的后续调用。
这里是一个总是具有调用错误:
L.getGlobal("foo");
L.pushNumber(8.0);
int retCode=L.pcall(1, 1,-2); // retCode value is always 5 pcall(numArgs,numRet,errHandler)
String s = L.toString(-1); // s= "Error in Error Handling Code"
我也曾尝试
L.remove(-2); (-2); L.insert(-2);
不知道为什么它给出任何错误或错误是什么。也许我没有正确设置错误处理程序?所以它不会打电话?加载后,我尝试从控制台,并可以运行打印(foo(5))如预期恢复10。
更新:它看起来像我需要在堆栈上提供一个错误处理程序。什么是这样的错误处理程序的签名,以及如何将它放在堆栈上的一个点上。谢谢
好的。我现在收到错误消息。 – Androider 2011-12-24 02:12:09
这是另一个问题,但现在我得到的错误是试图对局部变量n进行算术运算。 – Androider 2011-12-24 02:43:52
这里是关于产生的错误代码的问题的链接http://stackoverflow.com/questions/8622409/lua-error-attempt-to-perform-arithmetic-on-local-variable – Androider 2011-12-24 03:06:04