我知道lua_call()or 之间的基本区别lua_pcall(),后者提供了更多的错误细节.
还有其他区别吗?如何决定使用哪个?
使用lua_pcall时,您需要在代码中的那个点来处理潜在的错误.否则,使用lua_call并让错误向上移动调用链.无需lua_pcall到处使用偏执狂.
lua_call比...更快lua_pcall.
只需确保lua_pcall顶部至少有一个或您的应用程序将发现任何Lua错误时出现恐慌并退出.
使用lua_pcall,除非你有一些在所有情况下的具体性能问题.然后用lua_call.但同样,只有您已经分析了应用程序并发现了一个可以缓解的特定性能问题lua_call.
如果Lua在a期间抛出了Lua错误lua_call,那么你的应用程序几乎已被清除.所以你需要确保lua_pcall在可能的情况下使用它.