8

lua_call()我知道or之间的基本区别lua_pcall(),后者提供了更多错误细节。
还有其他区别吗?如何决定使用哪个?

4

2 回答 2

7

lua_pcall当您需要在代码中处理潜在错误时使用。否则,使用lua_call并让错误向上移动调用链。无需在lua_pcall任何地方都使用偏执狂。

lua_call比 快lua_pcall

只需确保lua_pcall顶部至少有一个,否则当发现任何 Lua 错误时,您的应用程序会恐慌并退出。

于 2013-05-22T12:21:19.413 回答
5

在所有情况下使用lua_pcall,除非您有一些特定的性能问题。然后使用lua_call. 但同样,只有当您分析了您的应用程序并发现了可以缓解的特定性能问题时。lua_call

如果 Lua 在 a 期间抛出 Lua 错误lua_call,那么您的应用程序将非常糟糕。因此,您需要确保lua_pcall尽可能使用它。

于 2013-05-22T14:36:32.513 回答