lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 2/15/2011 3:53 PM, Mike Pall wrote:
Christian Tellefsen wrote:
I see that it says in the LuaJIT docs that "Lua errors cannot be
caught on the C++ side". Does this mean that there is no way to
detect an error in a Lua script, report it, and then continue
execution afterwards, when using LuaJIT on this platform?
The text you mention deals with the interaction between C++
exceptions vs. Lua error handling.

So the above sentence just means you cannot use C++ try/catch to
catch a lua_error(). But since you disabled exception handling,
you won't be able to use try/catch, anyway.

But of course you can use lua_pcall() or pcall() to catch a
lua_error() or error() on all platforms.
OK, thank you.

Also, I get a crash when doing this a second time:

     lua_State * L = lua_open();
     luaL_openlibs(L);

Is this an incorrect way of creating 2 completely separate Lua
states when using LuaJIT 2.0.0 beta 6? As far as I can tell, it
works fine on vanilla Lua 5.1.4.
AFAIK this works just fine. The only thing you must not do is to
mix up these independent states or to access a single state from
two different threads at the same time. Maybe reduce your code to
a small test case and post it here?

--Mike
OK, thank you. I thought the code above be should be OK. There's a lot of things happening between those two calls. I'll let you know if I find anything.

Cheers,
Christian Tellefsen