因为 Lua 是一个嵌入式的扩展语言, 所有的 Lua 动作都是从宿主程序的 C 代码调用 Lua 库 (参见 lua_pcall)中的一个函数开始的。 在 Lua 编译或运行的任何时候发生了错误,控制权都会交还给 C , 而 C 可以来做一些恰当的措施(比如打印出一条错误信息)。
lua_pcall
Lua 代码可以显式的调用 error 函数来产生一条错误。 如果你需要在 Lua 中捕获发生的错误, 你可以使用 pcall 函数。
error
pcall