我知道lua_call()
和lua_pcall()
之间的基本区别,后者提供了更多错误详细信息。
还有其他区别吗?如何决定使用哪一个?
发布于 2013-05-22 20:21:19
当您需要处理代码中该点的潜在错误时,请使用lua_pcall
。否则,使用lua_call
并让错误在调用链中向上移动。不需要到处使用lua_pcall
而变得偏执。
lua_call
比lua_pcall
更快。
只需确保顶部至少有一个lua_pcall
,否则当发现任何Lua错误时,您的应用程序将会崩溃并退出。
发布于 2013-05-22 22:36:33
除非您有一些特定于的性能问题,否则请在所有情况下使用lua_pcall
。然后使用lua_call
。但是,只有当您分析了应用程序并发现了lua_call
可以缓解的特定性能问题时,才可以这样做。
如果Lua在lua_call
期间抛出了Lua错误,那么您的应用程序就会被完全淹没。因此您需要确保在可能的情况下使用lua_pcall
。
https://stackoverflow.com/questions/16691486
复制相似问题